2020/03/01にOpenCore-0.5.6がreleaseされた。
この新しいversionでHaswell搭載の自作PCにmacOS 10.15.3 Catalinaをinstallする。
参考にしたガイド
-
https://khronokernel-2.gitbook.io/opencore-vanilla-desktop-guide/
ここの手順に従う。 - 現在稼働しているmacOSでの作業を前提としている。
#Hardware
graphicボードはなし。CPU内臓のHD4600を使う。
- CPU : core i7 4790S Haswell LGA1150
- MB : ASUS B85M-G
- Memory : CFD DDR3 1600 8Gx2
- SSD : SanDisk SDSSDHII 120
- HDD : WD20EZRX
#Software
- macOS 10.15.3 Catalina : ApplicationフォルダにDL
- OpenCore : https://github.com/acidanthera/OpenCorePkg/releases/tag/0.5.6
- MountEFI : https://github.com/corpnewt/MountEFI
- ProperTree : https://github.com/corpnewt/ProperTree
- AppleSupport : https://github.com/acidanthera/AppleSupportPkg/releases
- GenSIMBOS : https://github.com/corpnewt/GenSMBIOS
- iasl : https://www.acpica.org/downloads/
USB installerを作成
- 16GBのUSBメモリを用意
- Disk UtilityでUSBメモリを初期化。 HFS+/MacOS Journaled,GUID partitionでMyVolumeという名前に
- Terminalで以下を実行
sudo /Applications/Install\ macOS\ Catalina.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume
EFIフォルダをコピー
- MountEFI.commandでUSBメモリ"Install macOS Catalina"を選択しEFIをマウントする。
- OpenCore-0.5.6-DEBUG.zipを展開
- EFIフォルダを/Volume/EFIにコピー
cp -R OpenCore-0.5.6-DEBUG/EFI /Volume/EFI
- Sample.plistをconfig.plistとしてコピー
cp OpenCore-0.5.6-DEBUG/Docs/Sample.plist /Volumes/EFI/EFI/OC/config.plist
AMLファイル
OpenCore-0.5.6-DEBUG/Docs/AcpiSamplesのdslファイルのうち、Haswellでは以下の3つが必要
SSDT-PLUG 、SSDT-EC、SSDT-EHCx_OFF
- iaslでcompileする
iasl SSDT-PLUG.dsl
でSSDT-PLUG.amlができる。あと2つも同様に作成。 - amlファイルを /Volume/EFI/EFI/OC/ACPIにコピー
cp *.aml /Volumes/EFI/EFI/OC/ACPI
Drivers
- /Volume/EFI/EFI/OC/DriversにはAppleUsbKbDxe.efi,FwRuntimeServices.efi,NvmExpressDxe.efi,XhciDxe.efiが存在している。
- 通常使用するのはFwRuntimeServices.efiのみ。他は削除。
- AppleSupport-2.1.6-DEBUG/Drivers/からApfsDriverLoader.efiとVBoxHfs.efiをOC/Driversにコピーする
#Kextsを集める
-
VirtualSMC.kext : https://github.com/acidanthera/VirtualSMC/releases
-
Lilu.kext : https://github.com/acidanthera/lilu/releases
-
WhateverGreen.kext : https://github.com/acidanthera/whatevergreen/releases
-
AppleALC.kext : https://github.com/acidanthera/applealc/releases
-
Ethernetのkext: MB/boardのchipに合わせる
B85M-GのイーサネットカードはRealtek RTL8168G/8111GなのでRealtekを選ぶ。- SmallTreeIntel82576 : https://github.com/khronokernel/SmallTree-I211-AT-patch/releases
- IntelMausiEthernet : https://github.com/Mieze/IntelMausiEthernet
- AtherosE2200Ethernet : https://github.com/Mieze/AtherosE2200Ethernet/releases
- RealtekRTL8111 : https://github.com/Mieze/RTL8111_driver_for_OS_X/releases
-
必要なkextsを /Volume/EFI/EFI/OC/Kextsにコピーする
GenSIMBIOS
- GenSIMBIOSはgit cloneしてchmod +xしておく
- GenSIMBIOSを起動しGenerate SMBIOSする。今回はiMac17,1を選択しデータを保存しておく。
- Type: iMac17,1
- Serial: CXXXXXXXXXXL
- Board Serial: CXXXXXXXXXXXXXXX8
- SmUUID: EXXXXXXF-BXXX-4XXX-BXXX-6XXXXXXXXXX5
ProperTreeでOCのsnapshotをとる
- ProperTreeはgit cloneしてchmod +xして実行可能にしておく
- ProperTreeを起動し /Volume/EFI/EFI/OC/config.plistを開く
- Command+Shift+Rで /Volume/EFI/EFI/OCを選択しsnapshotをとる
これにより準備したファイル・kextが自動的にconfig.plistに記載される
ProperTreeでconfig.plistを編集
- ACPI
- Add : 準備した3つのamlがEnabled Trueになっていることを確認。
- Block : そのまま
- Patch : そのまま
- Quirk : そのまま
- Booter
- MmioWhitelist : そのまま
- Quirks : そのまま
- DeviceProperties
- Add
- PciRoot(0x0)/Pci(0x1b,0x0) : そのまま
- PciRoot(0x0)/Pci(0x2,0x0)
- AAPL,ig-platform-id : 0300220D
- framebuffer-patch-enable Data 01000000 と行を追加
- device-id Data 12040000 と行を追加
- Block : 項目を削除
- Add
- Kernel
- Add : 準備したkextが記載されているか確認。順番はこのまま。
- Block : そのまま
- Emulate : そのまま
- Patch : そのまま
- Quirks :
- AppleCpuPmCfgLock : Trueに
- AppleXcpmCfgLock : Trueに
- DisableIoMapper : Trueに
- PanicNoKextDump : Trueに
- PowerTimeoutKernelPanic : Trueに
- XhciPortLimit : Trueに
- Misc
- BlessOverride : そのまま
- Boot : そのまま
- Debug
- DisableWatchDog : Trueに
- Entries : そのまま
- Security
- Boot
- AllowNvramReset : Trueに
- AllowSetDefault : Trueに
- Vault : Optional に
- ScanPolicy : 0 に
- Tools : そのまま
- Boot
- NVRAM
- Add
- 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14 : そのまま
- 7C436110-AB2A-4BBB-A880-FE41995C9F82
- boot-args : -v keepsyms=1 alcid=1 に
- nvda_drv : 00 に
- prev-lang:kbd : 空に
- Block : そのまま
- LegacyEnable : そのまま
- LegacyOverwrite : そのまま
- LegacySchema : そのまま
- WriteFlash : Trueに
- Add
- Platforminfo
- Generic
- MLB : GenSMBIOSで作成した値を入れる
- SystemProductName : iMac17,1
- SystemSerialNumber : GenSMBIOSで作成した値を入れる
- SystemUUID : GenSMBIOSで作成した値を入れる
- Generic
- UEFI
- Audio : そのまま
- ConnectDrivers : そのまま
- Drivers : 準備した3つのdriverが入っていることを確認
- Input
- PointerSupportMode : 空に
- Output : そのまま
- Protocols : そのまま
- Quirks
- IgnoreInvalidFlexRatio : Trueに
- RequestBootVarFallback : Trueに
config.plistのチェック
- OpenCore Sanity Checker : https://opencore.slowgeek.com/
- Haswell OC 0.5.6 を選んで、config.plistをDrag&Dropします。
- チェックされた項目を修正します
USBメモリから起動
config.plistを保存してrestartしUSBメモリから起動させます。
Install
DiskUtilityでSSDをAPFS/GUIDでフォーマット。
SSDを選択してインストール。
しばらく時間がかかるが、自然にrebootするので再びinstaller USBで起動。
macOS Installer が選択されているのでそのまま起動。
インストールが進み、再び自動でrebootする。
もう一度 installer USBで起動し、Catalinaを選択。
無事に起動した。
post install
SSDから起動するには、Installer USBのEFI/EFIフォルダを
SSDのEFIにコピーするだけ。
起動diskをSSDにすれば自動でCatalinaが立ち上がる。