物欲の塊

炸裂する物欲を書き散らすためのブログ。このブログの内容によって起こったいかなる損害も保障しません。

OpenCore 0.5.8に移行

こちらのマシンはWindows ゲームマシンだったのですが、Hackintoshに戻すことになったので試行錯誤した結果を晒します。

nop-me.hatenablog.com

ハードウェア構成は以前と変わりませんが、OOB(Out of the box)で動作する以下を追加しています。

結論からいうとBIOS 1401ではRTCのパッチを当てても、Cloverではうまくいかず。OpenCoreに乗り換えました。

OpenCoreとmacOS(Catalina)のインストール

USBインストーラの作成については、このドキュメントを読めばだいたい分かるはず。 ですが、いくつか躓いたので共有します。

https://dortania.github.io/OpenCore-Desktop-Guide/dortania.github.io

USBインストーラの作成

USBインストーラの作成ですが、ほぼスクリプトに丸投げです。以下の手順どおり。

https://dortania.github.io/OpenCore-Desktop-Guide/installer-guide/mac-install.html

OpenCoreの配置

USBが焼けたらEFI領域にブートローダを配置ですが、MountEFI使いますが、CloverConfiguratorのMountツール使ってもいいと思います。

Releases · acidanthera/OpenCorePkg · GitHub から最新の0.5.8をダウンロードして解凍して、EFIフォルダごとUSBのEFIフォルダ内にコピーします。/Volumes/EFI/EFI のような構造になるはずです。ここはCloverとあまり変わらないですね。

https://dortania.github.io/OpenCore-Desktop-Guide/installer-guide/opencore-efi.html

Drivers, Kextsの配置の詳細はこちらを参照してください。

https://dortania.github.io/OpenCore-Desktop-Guide/ktext.html

僕が配置したのは以下です。

  • EFI/OC/Drivers
  • EFI/OC/Kexts
    • Lilu.kext
    • AppleALC.kext
    • VirtualSMC.kext
    • SMCSuperIO.kext
    • SMCProcessor.kext
    • WhateverGreen.kext
    • IntelMausiEthernet.kext
    • SmallTreeIntel82576.kext
    • USBInjectAll.kext

汎用インストーラ用にAtherosE2200Ethernet, RealtekRTL8111のkextも入れておくと便利かもしれません。

EFI/OC/ACPIに配置するSSDTファイルはここを見ながら適当な作業用フォルダにdslファイルをダウンロードします。リンク先のgithubのページの右上にあるrawというボタンをクリックして、URLをコピー。

ターミナルで、以下を実行すればdslファイルをダウンロードできます。

$ wget 
https://raw.githubusercontent.com/acidanthera/OpenCorePkg/master/Docs/AcpiSamples/SSDT-PLUG.dsl

MaciASLを使って読み込み、Save As... → File FormatをACPI Machine Language Binaryを選んでSaveします(コンパイル)。するとamlファイルができます。そのファイルをEFI/OC/ACPIにコピーしてください。

CoffeLake(Z370)だったので以下を作成して配置しました。コンパイル済みのファイルが欲しければこちらを利用してください。ちなみにこのファイルはZ390でも使えます。

  • EFI/OC/ACPI
    • SSDT-PLUG.aml
    • SSDT-EC-USBX.aml
    • SSDT-AWAC.aml
    • SSDT-PMC.aml

config.plistの作成

次はconfig.plistの作成です。OpenCoreのダウンロードしたファイルのDocsフォルダ内のSampleFull.plistEFI/OC/config.plistとして配置しました。Sample.plistでもよいと思います。

https://dortania.github.io/OpenCore-Desktop-Guide/config.plist/coffee-lake.htmldortania.github.io

エディタですがClover Configuratorは使えません。互換性がないからです。PropTreeを使うようです。Download ZIPしてProperTree.commandをダブルクリックするとGUIエディタが起動します。

github.com

設定項目についてはドキュメントのとおりにやっていくといいです。ドキュメント上のキャプチャ画像の赤枠のところを確認しながら。 GenSMBIOSはドキュメントどおりで問題ないです。Core i9 9900KならiMac19,1でよさそうですが、Core i7 8700KはiMac19,2がよいと思います。

以下独自に対応した部分

DriversとKextsとToolsをconfig.plistに反映させる

Add: Here's where you specify which kexts to load, order matters here so make sure Lilu.kext is always first! Other higher priority kexts come after Lilu such as VirtualSMC, AppleALC, WhateverGreen, etc. A reminder that ProperTree users can run Cmd/Ctrl + Shift + R to add all their kexts in the correct order without manually typing each kext out.

こんなことが書いてあります。Driver, Kext, Tools類はフォルダに置けばロードされるわけではなく、config.plistに書かないとロードされません。 Cmd + Shift + Rはconfig.plistにそれらを適切に反映させるためのショートカットです。

PlatformInfoのAutomaticを有効にする

PlatformInfoでは、Automatic: YESをつけ忘れないように。赤枠にはなっていないですが、Automaticが抜けると正しく反映されません。

rtc-blacklistを削除する

NVRAM/Addにrtc-blacklistがありますが、これがあるおかげで起動できませんでした。なので、テキストエディタ(CotEditorなど)でここからここまでの部分をざっくり消しました。

 <key>NVRAM</key>
    <dict>
        <key>Add</key>
            <key>4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14</key>
            <dict>
                <key>DefaultBackgroundColor</key>
                <data>AAAAAA==</data>
                <key>UIScale</key>
                <data>AQ==</data>
            </dict>
<!--  ここから -->
            <key>4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102</key>
            <dict>
                <key>rtc-blacklist</key>
                <data></data>
            </dict>
<!--  ここまで -->
            <key>7C436110-AB2A-4BBB-A880-FE41995C9F82</key>
            <dict>
                <key>SystemAudioVolume</key>
                <data>Rg==</data>
                <key>boot-args</key>
                <string>-v keepsyms=1</string>
                <key>csr-active-config</key>
                <data>AAAAAA==</data>
                <key>prev-lang:kbd</key>
                <data>cnUtUlU6MjUy</data>
            </dict>
        </dict>
...
デバッグログをつけておく

NVRAMの設定で、-vをつけ忘れないように。

OpenCore Sanity Checkerでconfig.plistを検証する

最後にSanity Checkerでエラーがないか確認してください。

OpenCore Sanity Checker

起動する前に

Intel BIOS settings を確認する。

Sanity Checkerがパスしても起動しない場合はBIOS設定が正しくないことが多い。

起動できない場合

起動できない場合は以下を参照しましょう。

https://dortania.github.io/OpenCore-Desktop-Guide/troubleshooting/troubleshooting.htmldortania.github.io

インストール後

インストーラが起動してしまえば、通常のMacと同じです。

インストール後に https://dortania.github.io/OpenCore-Desktop-Guide/post-install/oc2hdd.html を参考にEFIフォルダを起動ディスクにコピーするだけ。

あとはデバッグログなどを以下を参考に閉じましょう

https://dortania.github.io/OpenCore-Desktop-Guide/post-install/verbose.html

https://dortania.github.io/OpenCore-Desktop-Guide/troubleshooting/debug.html

GUIのPickerが必要なら以下を参考にしましょう。

https://dortania.github.io/OpenCore-Desktop-Guide/extras/gui.html

所感

Sanity Checkerがあるのはよかったですが、ProperTree, GenSMBIOSが超絶使いにくいですね。ドキュメントは思った以上に充実しててストレスなくインストールできました。他にもCloverでは起動できなかった構成のすべてで、インストールに成功しています(Gigabyte Designare Z390, ROG MAXIMUS X CODE Z370)。

Motherboards | Anti-Hackintosh Buyers Guide には

MSI(Weird Memory Layout that requires KASLR fix and just really poor ACPI programming, many Z390 systems are unbootable on Clover)

と書いてあります…。後で知ったのですが、どうやらこっちの記事でOpenCoreから提供されているSSDTパッチをあてればCloverでもうまくいくようです。

bootmacos.com