Ryzentoshの作り方(その1)
How to make Ryzentosh?
さて、今回はRyzentoshの作り方を調査してみました。
とりあえずは箇条書きに記載していきます。
基本的には必要なものは通常のHackintoshと同様
必要なもの
・Ryzen の自作セット(CPU/MB/RAM/GB)
・まずはMacマシンが必要。
・macOSのイメージをダウンロード
・USB起動メモリを作成
・ブートローダの選定としては「Opencore」が良さそう。
・Config.plistの準備
Config.plistでRyzen CPUの対応をどうするか?
AMD-OSXに詳細に記載あり。
Opencore/ProvideCurrentCpuInfo
いわゆるCPU偽装工作パッチ。これを有効にしないと起動すらしないようです。
「 algrey – Force cpuid_cores_per_package 」の値を書き換える必要があります。
<変更箇所>
B8000000 0000/BA000000 0000/BA000000 0090*
<上記をCPUの周波数に合わせて以下のように変更>
B8 <CoreCount> 0000 0000/BA <CoreCount> 0000 0000/BA <CoreCount> 0000 0090*
上記<CoreCount>の箇所をPCUの物理コア数に合わせて16進数で置き換える。
<※記載例:6 Core 5600Xの場合>
B8 06 0000 0000/BA 06 0000 0000/BA 06 0000 0090
<コア数:16進数表>
他の注意事項
・MacOS 12 Montereyでは以下のコンフィグ無効化が必要。
Misc -> Security -> SecureBootModel
・BIOSでTPMも無効化。
・上記の両方ともインストール後は有効化が可能。
SMBIOSの設定について
以下とすること
MacPro6,1
MacPro7,1
iMacPro1,1
kextについて
以下を含めること
AppleIntelMCEReporter.kext
スタックした場合
初期にDSDTのID 「PNP0C09」
のECデバイスでスタックした場合には
ECを0にする「SSDT-EC0.aml」 を使う。
または以下のACPIパッチを使う。
Comment Find Replace
PNP0C09 to PNPFFFF 41D00C09 41D0FFFF
boot 引数
「radpg=15」を追記し、最新のlilu + whatevergreen kextsを用意
再起動を繰り返す場合
boot引数に「-s」を追記し、シングルユーザモードで入り、ターミナルで以下を実施。
/sbin/fsck -fy /sbin/mount -uw /
上記実施後、以下を実施
touch /var/db/.AppleSetupDone
ログイン後、以下を実施。
launchctl load /System/Library/LaunchDaemons/com.apple.opendirectoryd.plist
dscl . -create /Users/temp
dscl . -create /Users/temp UserShell /bin/bash
dscl . -create /Users/temp RealName "Temp User"
dscl . -create /Users/temp UniqueID "510"
dscl . -create /Users/temp PrimaryGroupID 20
dscl . -create /Users/temp NFSHomeDirectory /Users/temp
dscl . -passwd /Users/temp password
dscl . -append /Groups/admin GroupMembership temp
dseditgroup -o edit -a temp -t user admin
上記を実施後には以下でシャットダウンを実施
shutdown -r +0
尚、スリープは有効化されない。
他の作業については通常のHackintosh手順でいけるようだ。