Deskmini110/COM黑苹果(hackintosh)安装记录

注意:

这篇文章的思想,方法,以及各种工具全部来源于TonyMac x86,仅作记录之用,提到的各种工具和文章细节请直接参考TonyMac x86。

硬件配置:

CPU: i5 7600T
RAM: 32G DDR4

1 制作引导盘

首先制作安装盘:

VM unlock 之后的虚拟苹果也可,黑、白苹果也可。注意如果已经是已经处在要安装的系统的苹果机器上,需要在商店搜索比如Mojave来找到最新的系统镜像。然后使用Unibeast制作引导盘。

然后使用tonymac上的帖子的281楼提供的efi文件替换整个文件夹:

最后丢进去MultiBeastClover Configurator

注意:

  1. 用disk utility格式化U盘时,要在左侧展开全部视图,格式化时才有GUID的分区选项,不然就会格式化为MBR默认格式,造成Error Loading Operating System错误
  2. 挂载EFI分区用Clover Configurator
  3. 这个是卡我最久的。即在引导盘的EFI/Clover/kext/Other里,至少应该有USBInjectAll,FakeSMC,不然载入安装盘必然出现Still Waiting Boot Device错误。实际上U盘的目的是创建出UEFI环境和能使Apple Installer启动的最小化kext环境,故需要保留FakeSMC,USBInjectAll,Lilu,WhateverGreen。
  4. 安装盘最好使用前人的EFI和config.plist,默认的也行,需要安装完成后自行修改。

2 安装

首先更新BIOS到最新(截至2019/03为7.3),关闭BIOS的各种不适合的选项(VT-d,IOAPIC 24-119 Entries,Secure Boot),打开XHCI handoff。调整启动盘顺序,进引导之后正常进行抹除磁盘,安装MacOS。

这里我使用了SATA硬盘,Nvme硬盘需要patch,具体参阅TonyMac x86。

注意:

  1. 安装时的第二次启动时,需要在Clover里选择第一个启动项,然后继续安装。(大约等待15分钟)
  2. 第三次启动,可以看到从XXX启动Mac os了,这个时候选择进入。(此时还是从U盘的Clover引导的)

进入系统之后,使用MultiBeast构建最初的本机引导,此时可以选各种驱动。如果你有前人的EFI文件,就随便选选,最后用U盘里的EFI文件完全覆盖它创建的就好了。

覆盖完成后就可以重启并拔掉U盘了。

使用本机引导如果进不去(报Retry #1错误) 就在Clover 启动参数里加上-disablegfxfirm

3 驱动

这里需要更正一个误区,即直接把所有kext堆在/EFI/Clover/Others/是不合适的。

首先仔细阅读tonymac上的

  1. Lilu and Lilu Plugin
  2. Install 3rd kexts

神文。这里说清楚了要使用PlistEdit Pro改config.plist文件,让其Injectkext状态为Detect,然后在/Others/文件夹里保留必要的,能开机的最小化驱动(FakeSMC,Lilu,WhateverGreen,USBInjectAll)

Q: 那些10.xx文件夹是干什么用的?
Clover会按照对应的系统版本加载这些文件夹,没什么特殊需求就不用管这些文件夹。

剩下的使用命令行安装到L/E。

sudo cp -R  ***.kext  /Library/Extensions
sudo kextcache -i /

此时的加载逻辑是:Clover检测到L/E中有FakeSMC和kextcache,就停止加载,放手让系统加载L/E中的kext。

4 本机逻辑

10.14 Mojave已支持Kaby Lake CPU,故首先移除过时了的FakePCIID家族。IntelgraphicsFixup,shiki也可以移除。这是因为WhateverGreen已经接替了它们两个的功能。

然后在L/E重建缓存,包括FakeSMC在内的全部扔进去。

保持:AppleALC,CPUFriend,Lilu,FakeSMC,IntelMasusiEthernet,USBInjectAll

加入:WhateverGreen。

另外说一句,FakeSMC家族真好用,完美检测出了我的CPU Fan和Core stats。

注意:

  1. 如果config.plist中已经干掉了安全检查,那么重建缓存时的invalid signature allowed报错就可以忽略。

虽然不能直接用了,但是还可以用hackintool方便地检测WhateverGreen和Lilu是否加载成功。

检测所有kext是否加载,可以使用IOReg的替代者IOJones

或者:

kextstat | grep -v com.apple

修复细节:

AppleALC

机器板载音频没声,重建kext缓存时可以看到AppleALC报错,计划重新编译一个。
更正:无需修复,我搞错接口了。

Intel BufferFrame Patch

WhateverGreen加载成功后,就不需要-disbalegfxfirm了,此时尝试自定义端口开启双屏支持。

在EFI里复制一个config copy.plist进行加载尝试,尝一步一步定义:

  • 自建Device/Properties,定义device-id和AAPL ig-platform-id,成功。
  • 尝试开启2048M显存:成功,插入HDMI只会黑屏,已经不死机了。
  • 尝试定义系统端口以开启HDMI:这一步的尝试中,发现本机的con0端口为DP,con1为VGA,con2为HDMI。但是定义con2后连接HDMI会引发kernel panic,继续观察中。

后续更新

此配置在4K显示器下会不断闪屏,尝试配置Intel Framebuffer Patching(0x5912000和0x59160000),修改SMIBIOS为17,1,18,1,增加DVMT内存(stolenmem+unifedmem),均未见效果,最好的结果是得到了2k支持,或者缺少显卡加速的4k支持。
为了支持4K显示器,重装了10.14.4,目前:
仅采用tonymacX86站关于110的帖子中最新的SSDT.aml,EFI文件夹由MultiBeast建立,建立时选择Audio的100/200/300系支持,FakeSMC家族,然后自行放入相应的kext,共使用:AppleALC,USBinjectALL,IntelmasuEthernet,WhateverGreen,FakeSMC,Lilu,CPUFriend。
然后使用目前找到的config.plist。这份plist的特点在于,将ig-platform-id伪装为SkyLake平台的0x19120000,就可以正常得到4k支持。尚未找到合理的解释。

再次更新

在tonymacX86论坛中,有升级到4k显示器的用户遇到了和我一样的问题,也是通过这个奇怪config解决的。看来这并不是一个偶发问题,只能静等WhateverGreen更新了。

你可能感兴趣的:(Deskmini110/COM黑苹果(hackintosh)安装记录)