ついにMacBook ProにUbuntuを入れる

最新のmacOS “Tahoe”がリリースされ、ついにVenturaが切り捨てられることになりました。このIntel製MacBookPro2017も購入してから8年が経ち、長持ちしましたが、ついにMacとしては使うことができなくなってしまいました。Intel製でないと動かないソフトがあったので、重宝したのですが、とても残念です。

Appleとしても、Intel製はお荷物らしいので仕方ありません。

ネットに繋がないで使うという選択肢もありますが、それも不便なので、今回、Linuixマシンとして再利用することにしました。Linuxであれば、サクサク動くはずです。このマシンは主にPyhon開発環境として使っていたので、Linuxになっても困ることはありません。これであと最低5年は働いてもらう予定です。

ネットで調べていると、次の世代からT2チップが使われているようで、これがかなり厄介な代物だということがわかってきました。幸いMacBookPro2017はT2チップを採用していなかったので割と簡単にできたのかもしれません。T2じゃなくてよかった。

UbuntuのイメージファイルのダウンロードとUSBへの焼き付け

Linuxのディストリビューションとしては、Ubuntu一択だと思います。何かトラブルがあったとしても、ネットに豊富な情報があるので、すぐに解決することができます。オープンソースはどこかの企業が保証しているわけではないので、トラブルがあったら自分で解決しなくてはなりません。

macOSとのデュアルブートという選択肢もあるのですが、Macは他にもあるので、完全に消し去ってしまって、クリーンインストールを選びました。ディスク容量が256GBしかないので、macOSも共存させると窮屈になってしまいます。512GBあればデュアルブートもありです。

ということで、早速UbuntuのISOファイルをダウンロードします。最新の安定版のLTSを選択し、ダウンロードします。

これをUSBに焼き付けます。焼き付けるためのアプリをインストールします。アプリは、balenaEtcherというアプリです。

わたしは、M1 Macを使ったので、ARM64を選択しました。

使い方は簡単で、対象ファイルを選択し、次に焼き付けるUSBメモリを選択し、実行するだけです。

MacBook ProにUbuntuをインストール

USBメモリを差し込んだら、Optionキーを押しながら起動します。ブートローダが出てくるので、”Try or Install Ubuntu”を選択します。あとはインスーラの指示に従えば問題なくインストールが完了します。それほど時間はかかりません。10分弱で終わりました。Windowsとは全然違いますね。

USBメモリを元に戻す

インストールが終わったら、USBメモリを使える状態に戻す必要があります。このままでは、データのやり取りに使えず、USBメモリが無駄になってしまいます。この作業はLinux上でしかできません。

Utilitiesの「Disks」を起動し、対象となるUSBメモリを選択します。Formatを選択し、FATでフォーマットをすれば、Linux以外のPCでも読めるようになります。

ネットに繋ぐ

さて、ここからが難儀したところです。MacBookPro2017(Macbook14,2)は、特殊で、Wi-Fiとサウンドの設定が難しいという厄介な問題があります。LANアダプタがない場合、Wi-Fiが繋がるまでオフラインで作業をしなければなりません。

ネット上で色々と調べ、またChatGPTの助けも借りながら一日試してみましたが、結局Wi-Fiには繋がらなかったので、オフラインでは断念し、LANアダプタを購入しました。

どうやら、Broadcomのドライバーが入っていないことが原因のようで、Ubuntuのサイトから、関連するdebファイルをダウンロードしてインストールしてみるのですが、依存関係ファイルが次々と出てきて、沼にハマってしまいました。依存関係についてはDocker Desktopを使って一括ダウンロードする方法を見つけて解決しました。

設定を変更していくうちに、どうやらdriverが”brcmfmac”になっていることが原因のようで、これを”wl”に変更しなければならないことがわかってきました。しかし、どうしても”brcmfmac”が優先されてしまい、これ以上進めなくなりませんでした。

問題の都度、別のMacでファイルをダウンロードしてUSBメモリに落として、Linuxで読み込む、というのが面倒になり、有線LANがないと埒があかない、ということになりました。

ネットに接続できないとアップデートもアプリのインストールもできないので、まずは何としてもネットに接続しなくてはなりません。

有線LANアダプタを購入して、とりあえずネットへの接続はできましたが、未だWi-Fiは解決していません。解決したら続報を出そうと思います。

サウンド問題

次に、音が出ない問題に取り組みました。これも鬼門だったらしいのですが、こちらは案外簡単に解決しました。

これは解決しました。ネットではどうやってもダメ、という悲観的な意見が多かったのですが、以下の手順で音が出るようになりました。

#ドライバの取得
git clone https://github.com/egorenar/snd-hda-codec-cs8409.git
cd snd-hda-codec-cs8409
#コンパイルとインストール
make
sudo make install
sudo depmod -a
#モジュールを読み込み
sudo modprobe snd-hda-codec-cs8409

#自動ロードの設定:再起動後も自動でロードする
echo "snd-hda-codec-cs8409" | sudo tee -a /etc/modules
#再起動
sudo reboot
#再起動後に以下のコマンドを入れて、デバイスが読み込まれたらOK
aplay -l

日本語の設定

これもちょっと手こずりました。ネットにたくさんの情報があり、手当たり次第にやったらできました。

Python環境の構築

これはあっけないほど簡単にできました。minicondaを入れて仮想環境を立ち上げました。

時系列予測のProphetライブラリを使っているので、これは必須でしたが、簡単に環境を構築できました。

目次