お久しぶりです。
更新が滞っていましたが、何もしていなかったわけではありません。
実は古いMac Mini 2014があったんですけど、これをLinuxマシンとして再構築しようと思って四苦八苦していました。
現在なんとか使えるようになったんですけど、簡単かなと思いきや、かなり紆余曲折して大変でした。
今回はこの奮闘を記録に残します。
第1の壁:隠されたGRUBメニュー(カーネルが選べない!)
まずファンを回すことができません。
なんかエラーを吐くんですけど、どうもカーネルが新しすぎてドライバが対応してない。
6.17系のカーネルがデフォルトなので6.8系に落とします。
- apt list | grep linux-image-6.8.0
(※ここでズラッと出てきた中から、linux-image-6.8.0-45-generic のような一番標準的で新しい番号をメモします)
- sudo apt install linux-image-6.8.0-45-generic linux-headers-6.8.0-45-generic
(6.8.0-45の部分はメモしたバージョンに合わせてください)
- sudo update-initramfs -u -k 6.8.0-45-generic # 6.8 のフルバージョン名を指定
次が以下のコマンド。
- sudo update-grub
で、これで解決するかと思ったら、Advanced optionsが起動時に呼び出せない…。
起動時に最初から全バージョンをメイン画面にずらっと並べるように書き換えます。
- sudo nano /etc/default/grub
GRUB_TIMEOUT_STYLE=menu(hiddenをmenuに変更)GRUB_TIMEOUT=10(メニューで10秒間待たせる)GRUB_DISABLE_SUBMENU=y(重要: これをyにすると、Advanced options フォルダを廃止して、トップ画面にすべてのカーネルを並べます)GRUB_TERMINAL=console(重要: 行頭の#を消す。Macの画面表示のバグを避けるため、文字だけの確実な画面にします)
保存して閉じる Ctrl + O を押し、Enter で保存。その後 Ctrl + X で閉じます。
- sudo update-grub
第2の壁:Wi-Fiが繋がらない&MACアドレスの罠
カーネルを6.8に下げて、BUFFALOのUSB Wi-Fi子機(WI-U2-433DMS)を挿したけど動かない。「インターフェースを構築中」から進まない。
スマホのUSBテザリングでネットワークを確保しつつ以下を実施。
GitHubから rtl8821au (または8811AU系) の最新有志ドライバーを git clone してビルド。
- # 以前の残骸があれば消す
- rm -rf rtl8821as-dkms 8821au-20210708
- # 正しいURLでクローン(これは一般公開なのでパスワードは不要です)
- git clone https://github.com/morrownr/8821au-20210708.git
次に以下を実行。
- # フォルダへ移動(方法Aの場合)
- cd 8821au-20210708
- # インストールスクリプトを実行
- sudo ./install-driver.sh
/etc/modprobe.d/8821au.confの編集画面になったので以下を実施。
画面の中に options 8821au rtw_power_mgnt=... という行があるので、ここを以下のように設定。
-
修正前(例):
options 8821au rtw_power_mgnt=1(または2) -
修正後:
options 8821au rtw_power_mgnt=0
rtw_power_mgnt はパワーマネジメント(省電力機能)。これを 0(オフ)にすることで、ネットサーフィン中にWi-Fiが勝手にスリープして接続が切れるトラブルを防げる。デスクトップとして使うなら「オフ」が一番安定。
最近のLinuxはセキュリティのために接続のたびにMACアドレス(個体識別番号)を偽装するけど、古いチップや一部のUSB子機はこの機能に対応できず、接続がループしてしまう。以下を実施。
- sudo nano /etc/NetworkManager/conf.d/disable-random-mac.conf
開いたファイルで以下を記述。
- [device]
- wifi.scan-rand-mac-address=no
ネットワークを再起動。
- sudo systemctl restart NetworkManager
接続の構築中で止まるもう一つの原因は、IPv6のアドレス取得に時間がかかりすぎてタイムアウトしていること。これを一時的にオフにして、IPv4だけで繋がるかテスト。
-
右下のネットワークアイコンをクリックし、接続しようとしているWi-Fi名の横にある 「設定(スライダーのようなアイコン)」 をクリック。
-
「IPv6」 タブを開く。
-
「メソッド (Method)」を 「無視 (Ignored)」 に変更。
-
「保存」を押して、一度Wi-Fiをオフ→オンにしてみる。
これでUSB子機が使用可能になりました。
第3の壁(最大の危機):CPU温度98℃!沈黙するファン
とりあえずネットには繋がるようになったのですが、なんか本体が熱い…。
ネットは繋がったが本体が激熱。sensors コマンドで確認するとTCPGが98℃、ファンは 0 RPM。しかも最小回転数(min)が6200という異常値に。
mbpfan の導入、コマンドでの強制駆動、SMCリセット(電源コード抜き15秒)。……しかし全く効果なし!
何をやっても駄目で、ふと思い立つ。「あ、SSDに換装するときに配線いじったな…」。
もしかしたら物理的にファンのコネクタが外れている可能性を考慮して再びMac Miniを開封。
ファンのコネクタをちょっと抜き差しして再セット。カチッとはまるまで差し込んでまた組み立てて電源をオン。
…回るやんけ。
ついに放置されていたMac Miniが使えるお手軽ミニPCに!
ここまで来たらあとは普通のLinux機なので、普通にChromeを入れて、Spotifyを入れて、Bottlesを入れて、VOICEVOXを入れて、ShotCutを入れて。
音楽も聴ける。動画編集もできる。
でも「GIMP」が動かない。
なんかJPEGファイルの何かが詰まってる…。
結局Snap版のGIMPを入れて解決。
これでブログも書けるようになったぞ!
まとめ
今回はMac Mini 2014のミニPC化のために紆余曲折した過程をお伝えしました。
古くてもうMacOSは入らないけど、Kubuntuを入れてLinux機にすることでお手軽ミニPCにできました。
正直Mac Mini 2014をLinux機にする人は少ないでしょうけど、結構詰まることが多いので、何かの参考になりましたら幸いです。
[PR]Linuxは中古パソコンに入れて色々試すとよく覚えます。
中古パソコンのネット通販大手の「Qualit」と「PC next」がおすすめです。
[PR終わり]