巻きでメモ

ハード・ソフト面でのメモとか。

【Success】Fanless Hackintosh Server Build

Details

Components
MB:ASRock Z390 Phantom Gaming-ITX/ac (BIOS1.2、カスタムDTST導入)
CPU: Intel Core i5-8500T
Memory: Corsair CMK8GX4M2A2666C16 (4GB*2,2666Mhz)
Storage: M.2 SSDx1 (SATA 128GB), HDDx2 (4TB, 6TB)
Case: Streacom FC8 Alpha with optical slot black
Power Supply: picoPSU-160-XT + 192W AC adapter
Wifi+Bluetooth: Broadcom BCM94352Z
Optical drive: Panasonic UJ265 (blu-ray)
What Works
All functions (including iMessage) works
Kexts
AppleALC.kext
BrcmFirmwareRepo.kext
BrcmPatchRAM2.kext
FakePCIID_Broadcom_WiFi.kext
FakePCIID_XHCIMux.kext
FakePCIID.kext
FakeSMC_ACPISensors.kext
FakeSMC_CPUSensors.kext
FakeSMC_GPUSensors.kext
FakeSMC_LPCSensors.kext
FakeSMC_SMMSensors.kext
FakeSMC.kext
IntelMausiEthernet.kext
Lilu.kext
USBInjectAll.kext
WhateverGreen.kext
Drivers
AptioMemoryFix-64
ApfsDriverLoader-64
AudioDxe-64
DataHubDxe-64
EmuVariableUefi-64
FSInject-64
SMCHelper-64
VBoxHfs-64
Software
SMBIOS: Macmini8.1
OS: macOS 10.14.5 (18F132)
Clover: r4934

詳細

前回

makinok.hatenablog.com

の続きです。
今回はBuildまわりの話です。
[追記:6/13]ようやくケースの写真を撮ったので追加しました。

f:id:makino_k:20190602164940p:plain

インストールまで

手順はいつもと一緒です。
1. インストールUSBにmacOSインストーラーを入れる
2. M.2 SSDにCloverを入れてconfig.plistを作る
3. うまく起動できたらSSDmacOSをインストール

その前段階としてやることが結構あるので、そこから解説します。

Z390 Phantom Gaming-ITX/acの注意点

今回買ってから起動させる時に、先にWindowsをHDDに入れて起動させたのですが、Ethernetドライバは標準で読み込んでくれませんでした。
なのでドライバディスクから各種ドライバを導入しました。
今回はWifiBluetoothも交換しているので、Windows Update経由じゃないとドライバが手に入りません。
なのでmacOSを入れる前にWindows Updateを待たなくてはいけません。
有名な話ですが、Thunderboltも認識させるには先にWindowsで認識させる必要があります。なのでWindowsは必須です。

次にmacOSを入れる時なのですが、Z390 Phantom Gaming-ITX/acはBIOSが1.2じゃないと起動しない、みたいなことが調べた時に書いてありました。
他のPCでUSBにプログラムを入れてもいいですが、今回は先に導入したWindowsでUSBに入れてダウングレードしました。

そして、このMBはDSDTの相性が良くないようで、カスタムDSDTを導入するのが良いようです。
ダウンロードしてEFIのDSDTの中に入れます。

config.plistについて

今回はSMBIOSをmacmini8.1(Mac mini 2018)で設定しました。
T2チップが搭載されているものの、中身はCoffee Lake+H370です。
Coffee LakeのCoreシリーズならだいたい大丈夫です。
CPUにCore i5-8500T(8500のクロックダウン版)を採用しましたが、だいたいi5-8500Bと一緒なので、問題なく動きます。
実機にT2チップだろうが、通常通りFakeSMCでまともに動きます。

ちなみに今回のインストール時、apfsの読み込みでstuckしやすかったです。カスタムDTSTを入れたら起動したので、うまく動かない場合は入れてみてください。

ケースについてと実際の運用の温度など


ケース全体像です。
右側に連なってるのがCPUのメインのヒートシンクとなる部分です。
それ以外の部分(前面や上面など)もフル活用されて冷却されます。

ファンレスPCなので、ケース全体がヒートシンクとなって冷却をするケースです。
Mac mini実機より一回り大きく、高さは二倍くらいありますが、PCとしては十分に小さいサイズです。とても3.5インチHDDが二台も入っていて、しかもBlu-rayドライブも内蔵しているようには見えません。
CPUからは銅製のヒートパイプが伸びていて、ケースに接続されます。
中は対流など発生しない、いわゆる「窒息ケース」です。
温度が気になるので、HWMonitor(FakeSMCのプラグインkextと一緒に配布されています)を使い、モニタリングしてみました。

f:id:makino_k:20190602172137p:plain

CPUはおおむね40〜50℃で推移します。普通の空冷ケースだとアイドリング時35℃なので、少し高いくらいで、ほぼほぼ問題ないレベルです。

問題はHDDで、常に45〜50℃に達します。HDDは50℃を超えると危険らしく、あまり歓迎されない環境のようです。
Buildのテーマ上仕方がないので、とりあえずHDDに異常が出始めたら考えます。そのころには大容量SSDも安くなってるだろうし。
SSDは60℃で、もう少し温度が高くても耐えられるらしいのでとりあえず大丈夫でしょう。

サーバーマシンとしての設定など

今回のBuildの目標であるNASもどきとTime MachineサーバーとiTunesサーバーについてです。
本来はmacOS server(+¥2400)の機能でしたが、どれもmacOSに統合されました。なので実機のMacでも使用できます。 iTunes Serverをのぞき、システム環境設定→共有、から設定します。
他のMacからアクセスできるようにするには、同一のLANにつながっている必要があります。もちろん有線無線が混在していても大丈夫です。
家の外からアクセスするには、さらに設定が必要です。これは実際にできるようになったら記事にします。

ファイル共有

NASのように、他のPCからネットワーク経由でSSD/HDDにアクセスできます。 Finderで内蔵HDD/SSDと同様に操作できます。 他のMacも同じiCloudアカウントでログインしておくと、Finderの左欄のネットワークの中のPCのアイコンから簡単に入れます。
SATAの内蔵HDDよりは遅いですが、どのMacからもアクセスできるという利点があります。
映像編集などでデータが必要な場合はローカルに移動させるのが吉です。

Time Machine Server

内蔵HDDを他のMacのTime Machineとして使える機能です。ネットワーク経由となるので速度は落ちます。
たとえばMacbookを持ち歩く人は、Power Napを有効にしておけば、家に帰ってきたら自動的にWi-fiが繋がり、自動的にTime Machineを取ってくれます。 外付けHDDをいちいち接続しなくてもいいので、便利です。
ただし充電中である必要がありますが、これはだいたいの人が家ですると思うので、大丈夫でしょう。 設定は、サーバー側のMacでファイル共有→共有フォルダ→使用するHDDを追加→右クリックから詳細オプション→Time Machineバックアップ先として使用にチェックを入れる、でできます。
あとはバックアップを取るMacのTime Machine設定からディスクの選択で、使用するHDDを選択するだけです。
iCloudアカウントでログインは失敗しやすいので、登録ユーザーでログインすると成功しやすいです。
もう一度言いますが、速度はめちゃくちゃ遅いです。でも充電とセットで寝ている間にやってくれるので、とても便利です。

iTunes Server

これだけはiTunesから設定します。
サーバーのiTunesのライブラリに曲を入れて、iCloudでログインします。あとはホームシェアリングを有効にします。
サーバー機含めPC5台までの制限があるので、注意してください。iOSバイスはカウントに入りません。 これは曲のシェアというよりかはライブラリのシェアにあたります。なので、実質LAN内ストリーミング再生です。 容量に余裕がないMac実機などで、音楽データがそれなりの割合を占める場合にオススメです。

リモートマネジメント

画面共有ができるようになります。
サーバー機にモニターやキーボード・マウスを接続しない場合に使えます。
またはサーバー機と普通のデスクトップ機の置いてある階が違う場合に、いちいち移動する手間が省けます。
ちなみにファイル共有にチェックを入れておくと、その画面共有内からデータを同一PC内と同じようにコピーすることもできます。

DVDまたはCD共有

ドライブに入れたCD/DVDを他のMacで読み込めます。
例えば、5インチベイを積んだHackintoshでBlu-rayドライブを搭載し、積んでいないMacで再生できます。
HDCPなど複雑な要因が絡むので、実際には積んでいるMacで再生するのが一番だと思います。

Wake On LAN

これをするには、sleep/wakeの問題を解決しているのが前提です。 省電力PCを生かして、使っていない時はスリープで運用したいです。
スリープ時にハードウェアまで寝ていると、他のMacから読み込めません。
いちいちサーバーの電源ボタンを触るのは面倒です。
そこで、Wake On Macというフリーソフトを使います。

software.doogul.com

BIOS設定でWake on LANとWake on pcieをONにしておきます。
appを起動したら、addから起こしたいPCのIPやMACアドレスを入力します。設定できたら左上のwakeを押すと、スリープが解除されます。
電源のオンもできるはずですが、スリープでしか運用しないので、これでOKです。
起動したかの確認は、実際に確認するか、ネットワークからアクセスできるかなどで確認します。
当然ですがスリープするとロックがかかるので、解除させるには画面共有を使ってログインしないと、またすぐに寝てしまいます。
起きたかの確認を含め、画面共有と一緒に使うと良いでしょう。

Flirc

StreacomのケースにはFlircというIRレシーバーを装着できます。
これは赤外線リモコンからの信号を記憶して、汎用の赤外線リモコンで電源を入れられるという便利なものです。
ソフト上で設定をしますが、macOS版も配布されているので、設定は簡単にできます。
回路としては電源ボタンからのコードをFlircの基盤につなぎ、Flircから出ている電源ボタンコードとUSB2.0マザボにさします。
電源ランプはFlircを経由せずに直接マザボにさします。
電源ボタンを押した時には、間にFlircを入れていない時と同じ動作をします。
ソフトでFlircに赤外線信号を記録すると、その信号を送ると電源を入れてくれます。
TVやスピーカーなどにリモコンがある場合、そのリモコンを登録しておけば周辺機器全ての電源が一発で入れられます。
今回はサーバーなので電源を切る機会は少ないですが、通常のPCとしてStreacomのケースを使用する人はオススメです。
ただ、Streacomのケースの電源ボタンの押し心地はかなりいいので、触らなくなるのはちょっと残念です。

macOS serverの機能の大半が廃止されましたが、サーバーを組む価値はまだまだあると思います。
VPNやメールサーバなどは使えませんが、ファイル共有やTime Machineサーバーは本当に使えます。
Mac miniを買ってもいいのですが、大容量HDDを積みたい、Mini ITXを生かして4K UHDやThunderbolt3などの機能を使いたい、など、他の用途と組み合わせたい場合、Hackintoshという選択肢しかないでしょう。
Mini ITXのケースは制約が多い分、魅力的なケースも多いので、是非挑戦してみてはどうでしょうか。