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手順でいけるようだ。