注意:
這篇文章的思想岸啡,方法,以及各種工具全部來(lái)源于TonyMac x86务漩,僅作記錄之用,提到的各種工具和文章細(xì)節(jié)請(qǐng)直接參考TonyMac x86它褪。
硬件配置:
CPU: i5 7600T
RAM: 32G DDR4
1 制作引導(dǎo)盤(pán)
首先制作安裝盤(pán):
VM unlock 之后的虛擬蘋(píng)果也可饵骨,黑、白蘋(píng)果也可茫打。注意如果已經(jīng)是已經(jīng)處在要安裝的系統(tǒng)的蘋(píng)果機(jī)器上居触,需要在商店搜索比如Mojave來(lái)找到最新的系統(tǒng)鏡像。然后使用Unibeast
制作引導(dǎo)盤(pán)老赤。
然后使用tonymac上的帖子的281樓提供的efi文件替換整個(gè)文件夾:
最后丟進(jìn)去MultiBeast
轮洋,Clover Configurator
。
注意:
- 用disk utility格式化U盤(pán)時(shí)抬旺,要在左側(cè)展開(kāi)全部視圖弊予,格式化時(shí)才有GUID的分區(qū)選項(xiàng),不然就會(huì)格式化為MBR默認(rèn)格式嚷狞,造成Error Loading Operating System錯(cuò)誤
- 掛載EFI分區(qū)用
Clover Configurator
- 這個(gè)是卡我最久的块促。即在引導(dǎo)盤(pán)的EFI/Clover/kext/Other里荣堰,至少應(yīng)該有USBInjectAll床未,F(xiàn)akeSMC,不然載入安裝盤(pán)必然出現(xiàn)Still Waiting Boot Device錯(cuò)誤振坚。實(shí)際上U盤(pán)的目的是創(chuàng)建出UEFI環(huán)境和能使Apple Installer啟動(dòng)的最小化kext環(huán)境薇搁,故需要保留FakeSMC,USBInjectAll渡八,Lilu啃洋,WhateverGreen传货。
- 安裝盤(pán)最好使用前人的EFI和config.plist,默認(rèn)的也行宏娄,需要安裝完成后自行修改问裕。
2 安裝
首先更新BIOS到最新(截至2019/03為7.3),關(guān)閉BIOS的各種不適合的選項(xiàng)(VT-d孵坚,IOAPIC 24-119 Entries粮宛,Secure Boot),打開(kāi)XHCI handoff卖宠。調(diào)整啟動(dòng)盤(pán)順序巍杈,進(jìn)引導(dǎo)之后正常進(jìn)行抹除磁盤(pán),安裝MacOS扛伍。
這里我使用了SATA硬盤(pán)筷畦,Nvme硬盤(pán)需要patch,具體參閱TonyMac x86刺洒。
注意:
- 安裝時(shí)的第二次啟動(dòng)時(shí)鳖宾,需要在Clover里選擇第一個(gè)啟動(dòng)項(xiàng),然后繼續(xù)安裝作媚。(大約等待15分鐘)
- 第三次啟動(dòng)攘滩,可以看到從XXX啟動(dòng)Mac os了,這個(gè)時(shí)候選擇進(jìn)入纸泡。(此時(shí)還是從U盤(pán)的Clover引導(dǎo)的)
進(jìn)入系統(tǒng)之后漂问,使用MultiBeast構(gòu)建最初的本機(jī)引導(dǎo),此時(shí)可以選各種驅(qū)動(dòng)女揭。如果你有前人的EFI文件蚤假,就隨便選選,最后用U盤(pán)里的EFI文件完全覆蓋它創(chuàng)建的就好了吧兔。
覆蓋完成后就可以重啟并拔掉U盤(pán)了磷仰。
使用本機(jī)引導(dǎo)如果進(jìn)不去(報(bào)Retry #1錯(cuò)誤) 就在Clover 啟動(dòng)參數(shù)里加上-disablegfxfirm
。
3 驅(qū)動(dòng)
這里需要更正一個(gè)誤區(qū)境蔼,即直接把所有kext堆在/EFI/Clover/Others/是不合適的灶平。
首先仔細(xì)閱讀tonymac上的
神文。這里說(shuō)清楚了要使用PlistEdit Pro
改config.plist文件箍土,讓其Injectkext狀態(tài)為Detect逢享,然后在/Others/文件夾里保留必要的,能開(kāi)機(jī)的最小化驅(qū)動(dòng)(FakeSMC吴藻,Lilu瞒爬,WhateverGreen,USBInjectAll)
Q: 那些10.xx文件夾是干什么用的?
Clover會(huì)按照對(duì)應(yīng)的系統(tǒng)版本加載這些文件夾侧但,沒(méi)什么特殊需求就不用管這些文件夾矢空。
剩下的使用命令行安裝到L/E。
sudo cp -R ***.kext /Library/Extensions
sudo kextcache -i /
此時(shí)的加載邏輯是:Clover檢測(cè)到L/E中有FakeSMC和kextcache禀横,就停止加載屁药,放手讓系統(tǒng)加載L/E中的kext。
4 本機(jī)邏輯
10.14 Mojave已支持Kaby Lake CPU柏锄,故首先移除過(guò)時(shí)了的FakePCIID家族者祖。IntelgraphicsFixup,shiki也可以移除绢彤。這是因?yàn)閃hateverGreen已經(jīng)接替了它們兩個(gè)的功能七问。
然后在L/E重建緩存,包括FakeSMC在內(nèi)的全部扔進(jìn)去茫舶。
保持:AppleALC械巡,CPUFriend,Lilu饶氏,F(xiàn)akeSMC讥耗,IntelMasusiEthernet,USBInjectAll
加入:WhateverGreen疹启。
另外說(shuō)一句古程,F(xiàn)akeSMC家族真好用,完美檢測(cè)出了我的CPU Fan和Core stats喊崖。
注意:
- 如果config.plist中已經(jīng)干掉了安全檢查挣磨,那么重建緩存時(shí)的invalid signature allowed報(bào)錯(cuò)就可以忽略。
雖然不能直接用了荤懂,但是還可以用hackintool
方便地檢測(cè)WhateverGreen和Lilu是否加載成功茁裙。
檢測(cè)所有kext是否加載,可以使用IOReg的替代者IOJones
或者:
kextstat | grep -v com.apple
修復(fù)細(xì)節(jié):
AppleALC
機(jī)器板載音頻沒(méi)聲节仿,重建kext緩存時(shí)可以看到AppleALC報(bào)錯(cuò)晤锥,計(jì)劃重新編譯一個(gè)。
更正:無(wú)需修復(fù)廊宪,我搞錯(cuò)接口了矾瘾。
Intel BufferFrame Patch
WhateverGreen加載成功后,就不需要-disbalegfxfirm了箭启,此時(shí)嘗試自定義端口開(kāi)啟雙屏支持壕翩。
在EFI里復(fù)制一個(gè)config copy.plist進(jìn)行加載嘗試,嘗一步一步定義:
- 自建Device/Properties册烈,定義device-id和AAPL ig-platform-id戈泼,成功。
- 嘗試開(kāi)啟2048M顯存:成功赏僧,插入HDMI只會(huì)黑屏大猛,已經(jīng)不死機(jī)了。
- 嘗試定義系統(tǒng)端口以開(kāi)啟HDMI:這一步的嘗試中淀零,發(fā)現(xiàn)本機(jī)的con0端口為DP挽绩,con1為VGA,con2為HDMI驾中。但是定義con2后連接HDMI會(huì)引發(fā)kernel panic唉堪,繼續(xù)觀察中。
后續(xù)更新
此配置在4K顯示器下會(huì)不斷閃屏肩民,嘗試配置Intel Framebuffer Patching(0x5912000和0x59160000)唠亚,修改SMIBIOS為17,1,18,1持痰,增加DVMT內(nèi)存(stolenmem+unifedmem)灶搜,均未見(jiàn)效果,最好的結(jié)果是得到了2k支持工窍,或者缺少顯卡加速的4k支持割卖。
為了支持4K顯示器,重裝了10.14.4患雏,目前:
僅采用tonymacX86站關(guān)于110的帖子中最新的SSDT.aml鹏溯,EFI文件夾由MultiBeast建立,建立時(shí)選擇Audio的100/200/300系支持淹仑,F(xiàn)akeSMC家族丙挽,然后自行放入相應(yīng)的kext,共使用:AppleALC,USBinjectALL,IntelmasuEthernet,WhateverGreen,FakeSMC匀借,Lilu,CPUFriend取试。
然后使用目前找到的config.plist。這份plist的特點(diǎn)在于怀吻,將ig-platform-id偽裝為SkyLake平臺(tái)的0x19120000瞬浓,就可以正常得到4k支持。尚未找到合理的解釋蓬坡。
再次更新
在tonymacX86論壇中猿棉,有升級(jí)到4k顯示器的用戶(hù)遇到了和我一樣的問(wèn)題,也是通過(guò)這個(gè)奇怪config解決的屑咳∪蓿看來(lái)這并不是一個(gè)偶發(fā)問(wèn)題,只能靜等WhateverGreen更新了兆龙。