综述
本指南的目的是提供Lenovo Z50-70/Z40-70使用Clover引导安装El Capitan并逐步完善驱动。
注:这一指南基于RehabMan的脚本和Z50-70修改,机型是Z50-70,使用的无线网卡为Broadcom BCM943602BAED,本机型有白名单限制,如果需要安装这款网卡,需要修改BIOS,你有2种选择:a.刷bios白名单,笔记本支持这两款卡。b.你可以尝试使用联想拆机的AR928x,建议Ar9287,9280我基本上没找到。另外带FRU的BCM94352也是没办法直接更换的,这个我尝试过了,给大家一点提醒。
需要准备的东西:
-Lenovo Z50-70 or Z40-70
-Mac系统镜像
-容量大于8G的U盘,建议选用可靠的U盘
-无线网卡需要更换,你可以选择Lenovo拆机的AR9285/AR9287,这可以在你的电脑上直接更换而不需要修改BIOS,或者是选择修改BIOS,更换为BCM94352/94360
关于系统安装部分详见:[通用指导]在笔记本电脑上使用Clover引导安装黑苹果(图文版)
在安装前的说明
BIOS设置:
-启用UEFI引导模式
-禁用安全引导
-禁用深度睡眠
-如果你的笔记本带有独显,将会在运行MAC系统时由SSDT-NVDA.aml中被禁用。
特殊说明
1.建议拷贝RealtekRTL8111.kext 到Clover/kexts/Other目录下,这对后续的安装是至关重要的。
2.建议拷贝FakePCIID.kext and FakePCIID_Broadcom_WiFi.kext 到Clover/kexts/Other下(针对于BCM94352HMB),这可能让你的笔记本在安装后就支持wifi
FakePCIID.kext 和FakePCIID_Broadcom_WiFi.kext 来源于这里: https://github.com/RehabMan/OS-X-Fake-PCI-ID
上述两步让你初步安装完成的MAC系统具有网络支持,不建议使用外置无线网卡。
GenericUSBXHCI.kext在10.11+不建议使用,有更好的选择。
建议使用Clover引导原版系统镜像,这会让你后续安装驱动更顺利,尽量避免其他非必要因素影响驱动安装。
建议使用16G及以上的可靠的U盘,USB3.0接口可以尝试使用,这可以缩短你安装的时间。如果无法识别再切换到USB2.0接口。
安装完成后,从U盘引导进入系统,你必须保证有稳定的网络接入电脑,不管是有线或是无线网络
1.下载Clover efi bootloader,来源:Clover UEFI Bootloader
2.安装时选择自定义安装,选择安装到ESP/EFI分区,Dirvers64UEFI > OsxAptioFixDrv-64。
3.复制 HFSPlus.efi 到 drivers64UEFI文件夹,HFSPlus.efi来源https://github.com/JrCs/CloverGrowerPro/blob/master/Files/HFSPlus/X64/HFSPlus.efi?raw=true.
4.安装工具和补丁很容易在这里找到:http://github.com/the-braveknight/Lenovo-Z50-DSDT-Patch
5.允许未知软件运行(以下均在终端执行):
sudo spctl --master-disable
6.安装开发者工具xcode:
git
等待安装完成即可。
7.在开发者工具安装完成后,你需要从GitHub克隆补丁到本地。
mkdir ~/Projects #在个人目录下创建Projects文件夹
cd ~/Projects #转到Projects目录
git clone https://github.com/the-braveknight/Lenovo-Z50-DSDT-Patch.git z50.git #克隆GitHub源到本地:z50.git
8.下载必要的kext文件和工具。
cd ~/Projects/z50.git #转到z50.git文件夹
./download.sh #运行下载脚本,自动下载必要的文件
9.安装kext文件到对应的位置(自动完成):
./install_downloads.sh #解压并自动安装到相应位置,可能需要输入管理员密码。
或者如果你有一个ELAN触摸板:
./install_downloads.sh elan
注:download.sh会自动从bitbucket下载最新版的工具(patchmatic, iasl, MaciASL) a和 kexts (IntelBacklight.kext, ACPIBatteryManager.kext, etc),install_download.sh会自动把下载的东西安装到相应的位置,如果你愿意,你可以验证一下。
10.现在我们需要正确修补dsdt/ssdt,目前我们的方案并没有使用固定的dsdt/ssdt,而是采用热修补完成一组ssdts文件。
cd ~/Projects/z50.git #转到z50.git
make #构建必要的文件,构建完成的文件在build目录下
make install #将构建的文件复制到EFI/Clover/ACPI/patched目录下
11.10.12+的大多数变化都已确定,如果你的屏幕显示不正常,必须注入EDID,执行patch_edid.sh,1080p屏幕应该没有这个问题。
cd ~/Projects/z50.git
./patch_edid.sh #运行注入edid脚本
12.生成电源管理(ssdt.aml):
生成电源管理,CPU变频文件:两次询问都选N,然后回车。
(使用Pike R. Alpha的ssdtPRGen.sh生成ssdt变频文件,详细介绍见:https://github.com/Piker-Alpha/ssdtPRGen.sh)
cd ~/Projects/z50.git
curl --fail -o ./ssdtPRGen.sh https://raw.githubusercontent.com/Piker-Alpha/ssdtPRGen.sh/master/ssdtPRGen.sh #下载脚本
chmod +x ./ssdtPRGen.sh #给予运行权限
./ssdtPRGen.sh #运行ssdtPrGen脚本
如果生成ssdt.aml在开机后出现内核崩溃,无法进入系统,(常见于三代低压U和不常见CPU,如3610QM之类)请从U盘引导进入,删除efi/clover/acpi/patch目录下ssdt.aml
执行:
cd ~/Projects/z50.git
curl --fail -o ./ssdtPRGen.sh https://raw.githubusercontent.com/Piker-Alpha/ssdtPRGen.sh/master/ssdtPRGen.sh
chmod +x ./ssdtPRGen.sh
./ssdtPRGen.sh -w 3
13.拷贝上面生成的文件拷贝到/EFI/Clover/ACPI/patched/SSDT.aml目录。
cd ~/Projects/z50.git #转到z50.git
sudo ./mount_efi.sh / #挂载EFI分区
cp ~/Library/ssdtPRGen/ssdt.aml /Volumes/EFI/EFI/Clover/ACPI/patched/SSDT.aml #将ssdt.aml拷贝到/EFI/Clover/ACPI/patched/目录下
14.最后拷贝config.plist到Clover目录下,config.plist已在z50.git下,直接拷到Clover目录下即可。
cd ~/Projects/z50.git #转到z50.git
sudo ./mount_efi.sh / #挂载EFI分区
cp config.plist /Volumes/EFI/EFI/Clover/config.plist #拷贝config.plist到Clover目录
15.重建驱动缓存:
sudo touch /System/Library/Extensions && sudo kextcache -u /
16.你应该根据你的机型定制SMBIOS和序列号,你可以选择使用Clover Configurator生成对应文件保存后,用plist editor或者xcode将生成的文件拷贝到你需要使用的plist文件的对应位置,不要在正常的config.plist文件使用Clover Configurator编辑,会改变config.plist文件内容,切记。
完成以上操作就可以正常运行你的mac系统了。不过还是请继续向下看。
17.阅读已经问题,黑苹果终究不是在Mac的专用硬件运行,有很多尚未修复或是无法修复的问题,请参考帖子看是否解决相关问题:10.12请看:https://www.tonymacx86.com/threads/readme-common-some-unsolved-problems-in-10-12-sierra.202316/
关机,从clover启动即可。
如果需要更新源文件:
cd ~/Projects/z50.git
git pull
./download.sh
./install_downloads.sh
make
make install
最后是一些小技巧:
生成序列号,修复imessage,facetime等。
1.运行iMessageDebug,得到本机的相关代码并发送到桌面(拖到终端):
得到:
Model: MacBookPro9,2
Board-id: Mac-6F01561E16C75D06
SerialNumber: C02HA041DTY3
Hardware UUID: 7A4CF8FE-1756-5F24-AD48-3E18B83BAC83
System-ID: DFDF37BD-DB02-E211-97E9-E288BF0CB036
ROM: e288bf0cb036
BoardSerialNumber: C02140302D5DMT31M
Gq3489ugfi: fba3dbe5121bc96f57ecf302be0bc84557
Fyp98tpgj: ada3d3759be91937af7242266bcb702d98
kbjfrfpoJU: 9f6befb3ffb09a7758783ed3e5a7e642fc
oycqAZloTNDm: dc6361b725dc64ca5e9db9dd5c8cfd1542
abKPld1EcMni: 5adb8f2e07e614f1f270749d444db84545
2.复制一份本机正常的config.plist,命名为config mod.plist,不要在原文件改。
3.用clover configisator打开复制的config mod.plist.
4.切换到smbios选项卡,点击魔术棒,选择对应的机型,如果选错,会有提示。
5.在右侧切换week of manufacturer和unit number,生成serial,点击OK。
6.切换到Rt Variables,rom填iMessagedebug生成的rom,mlb填:board serial number
7.切换到smbios,smuuid对应填hardware uuid,board serial number对应BoardSerialNumber。
8.切换到System Parameters中填入iMessage debug中的system id.勾选inject system id.
9.点击保存。
10.用plist editor或者xcode打开config.plist和刚才生成的config mod文件,不要用cloverconfigure打开。
11.复制config mod.plist的rt variables至最后,覆盖config.plist的rt variables部分到最后,保存并重启。
12.到此结束。
本地代理为 socks5://127.0.0.1:1080
在终端下使用 export ALL_PROXY=socks5://127.0.0.1:1080
清除代理 unset ALL_PROXY
显示隐藏文件:defaults write com.apple.finder AppleShowAllFiles -boolean true ; killall Finder
不显示隐藏文件:defaults write com.apple.finder AppleShowAllFiles -boolean false ; killall Finder