7559黑苹果-10.15
0x00 题外话
前两天看到黑果小兵已经将Catalina的安装包搞好了, 结果下了一天也没下完... ... 昨天白天上班没空, 晚上回去终于有时间搞搞了... ...
但是因为最近感觉电脑变卡了, 我怀疑是我装了什么乱七八糟的东西导致的, 所以直接将原来的10.14.6卸载, 然后想着直接装Catalina.
结果用黑果小兵大佬的Catalina安装包, 一直卡着进不去安装... ...郁闷... ...Orz ... ...不想找bug了, 难道就没办法了吗?
不!! 恰好看到orange1206大佬在六月份已经升级安装成功了!!! 直接升级安装的!!!流弊!!!!
那还等啥, 不说了, 直接去黑果小兵找10.14.5的安装包: https://blog.daliansky.net/ma... , 别问为什么, 我好久前就下好了, 所以直接拿来用
注意了, 因为黑果小兵最新的安装包我无法使用, 所以, 本教程是在安装10.14.5之后, 直接升级10.15, 然后再修复驱动
参考链接: Dell 7559 安装10.14GM教程(i5+UEFI)安装10.14.6链接: Dell-7559-10.14.6
0x01 电脑配置
- CPU: i7-6700HQ
- 内存: DDR3L 1600MHz * 2
- 硬盘: 128G+1T
- 显卡: GTX960M 4G + Intel HD Graphics 530
- 声卡: ALC256
- BIOS版本:1.2.8
如果配置一样或者相似, 可以继续往下看了
0x02 最终的效果
- 声卡完美, 耳机自动切换, 除了插入的时候有电流声... ... 笔记本快捷键:
F1
静音,F2
调低声音和F3
调高声音 - 背光可调,也就是所谓的小太阳,笔记本快捷键
Fn+F1
和Fn+F2
- USB3.0驱动成功
- 蓝牙可用,可关闭打开
- 睡眠可用,电量正常显示
- 摄像头可用,使用mac自带的
Photo Booth
检测 - 独显已经屏蔽
- 可变频,测试软件Intel Power Gadget和cpu-s,这两个软件我已经下载好放在附件中了
- iMessage可用, FaceTime没用过, 但是应该也行. 记住, 如果你想成功使用iMessage的话, 千万先别登录Apple ID
0x03 BIOS准备
- 如果cpu是i5的,则需要去官网下载1.0.1的BIOS版本刷入,我是i7,所以不用管
- 更改BIOS设置如下
- 恢复BIOS默认设置
- AHCI mode 选择 SATA
- 关闭 VT for direct I/O
- 关闭 Advanced Battery Charging
- 关闭 Secure boot
- 关闭 SupportAssist System Resolution
- 关闭 Firmware TPM
0x04 系统安装
- 下载macOS Mojave镜像: 【黑果小兵】macOS Mojave 10.14.5 18F132 正式版 with Clover 4928原版镜像
-
检查下载的系统的md5是否是下载链接处提供的
371d9145484beaf0795d6b7d0d569fc3
- windows下,使用
certutil
命令
certutil -hashfile 系统镜像 MD5
- mac下使用
md5
md5 系统镜像
- windows下,使用
-
如果在windows下,则使用
transmac
将镜像写入U盘,如果在mac上,则使用balenaEtcher
将镜像写入U盘- 使用
transmac
将镜像写入U盘:先选择Format Disk for Mac
格式化为Mac格式,然后选择Restore with Disk Image
将镜像写入U盘 - 使用
balenaEtcher
将镜像写入U盘:傻瓜式操作,选择下载的系统镜像,选择U盘,然后点击Flash
,等待即可
- 使用
-
在windows下,使用
Diskgenius
,mac下使用Clover Configurator
挂载U盘的EFI分区,我们需要修改一下config.plist
,将原来默认的config.plist
重命名成config_bak.plist
,然后找到有530
字眼的config文件,将其重命名为config.plist
ps:如果你的配置以及Bios版本和我的一致,先删除U盘中的
CLOVERE
,然后你可以直接将附件中的最终的CLOVER
重命名成CLOVER
,然后放到U盘的EFI分区里面,当然,不能保证可以进入系统!最好还是跟我教程,自己一步步安装! -
然后可以拿着这个U盘启动盘去装系统了,具体的如何安装系统以及将启动U盘的CLOVER放在本地的EFI下的步骤这里略过,如果上面的操作正常,安装完成后是可以进入到mac系统的
注意: 千万别登录appleid, 或者说任何的账号, 登录与否直接影响后面的iMessage能否正常使用
0x05 升级Catalina
进入10.14.5 majove之后, 先将u盘的CLOVER放到本地的EFI下, 让我们可以拔掉u盘自己启动之后, 接下来就是升级clover以升级Catalina了
然后去https://github.com/Dids/clover-builder/releases
下载5093版本的CLOVERX64.efi
然后替换本地EFI/CLOVER
中的CLOVERX64.efi
, 这样就完成了clover的升级了
然后我们就可以打开系统偏好设置
-> 软件更新
, 等一会, 它就会让我们更新Catalina, 直接下载更新, 驱动什么的等更新完Catalina之后再说
更新的过程中会重启几次, 记得选择有Install
字样的那个选项
如果你正常操作的话, 运气不错话, 应该和我一样, 进入了Catalina系统了, 所以接下来就是驱动的安装了
0x06 驱动安装
-
Clover Configurator
挂载本地EFI
,进入/EFI/CLOVER/kexts/Other
,移除多余的驱动,以及增加一些必备的驱动.原来的如下:
修改后如下: 下面修改或者增加的驱动, 去
最终的clover
那里找. 注意, 其中AppleALC_v1.4.2, WhateverGreen_v1.3.3, Lilu_v1.3.8我已经从官网升级到了最新版, 都放在了最终的clover
上 - 让
Other
下的驱动可以生效, 打开/EFI/CLOVER/config.plist
,在System Parameters->Inject Kexts
改成Yes
,然后保存 -
移除键鼠标驱动, 防止与
Other
下的鼠标驱动VoodooPS2Controller_v1.9.2.kext
冲突, 终端输入:sudo rm -rf /System/Library/Extensions/AppleACPIPS2Nub.kext
- 重启准备进行
dsdt
和ssdt
制作
0x07 DSDT和SSDT文件制作
如果你对BIOS版本和我的一样,那么直接用我CLOVER/ACPI/patched
文件夹里面的文件即可,也就是说不用看这节的内容了.需要说明的是,一般来说,不同BIOS版本的文件不能通用,容易出错, 从而进不去系统
前期准备
- 开机选择Mac图标,按下
F4
,所需文件会自动出现在EFI/Clover/ACPI/origin
文件夹 - 使用
Clover Configurator
加载引导分区EFI,如下图 - 将
EFI/Clover/ACPI/
下的origin
文件夹复制到桌面 - 复制附件中的
iasl
和refs
文件至桌面的origin
文件夹 -
终端输入:
cd ~/Desktop/origin sudo cp iasl /usr/bin iasl -da -dl -fe refs.txt DSDT.aml SSDT*.aml
将会有
****.dsl
文件创建于origin
文件夹,如下图
DSDT文件制作
注意每改一下,都要Compile
一下,查看是否有error,修复它,不管warning
- 使用
MaciASL.app
打开DSDT.dsl
文件 - 点击
Compile
,出现4个error,都是PARSEOP_EXP_MULTIPLY
错误,双击跳转到error位置,删掉这四行即可,如果遇到其他错误自行百度 - 查找
HECI
用IMEI
替代;查找HDAS
用HDEF
替代,然后再
Compile
一下,不用管Warnings
,没有Errors
即可 -
点击
Patch
,在RehabMan Laptop
下,查找到以下项目,单击后按Apply
-[syn] Rename _DSM methods to XDSM -[Audio] Audio Layout 3 -[bat] Dell Inspiron 15-7xxx -[sys] Fix _WAK Arg0 v2 -[sys] Fix Mutex with non-zero SyncLevel -[sys] HPET Fix -[sys] IRQ fix -[sys] RTC Fix -[sys] Skylake LPC -[sys] SMBUS Fix -[usb] USB3_PRW 0x6D Skylake (instant wake)
-
下面以
[syn] Rename _DSM methods to XDSM
为例,点击Patch
,选择_RehabMan Laptop
(这个名字是自己取的,只要Patch源是 http://raw.github.com/RehabMa... 即可)我放在附件中的
MaciASL
是最新版本的,已经包含了RehabMan Laptop
的源,如下图.如果你发现点击Patch
之后显示空白,则说明网络不好,要么等一会,要么科学上网. -
选择
[syn] Rename _DSM methods to XDSM
之后,等一会,然后点击Apply
,然后再等一会,指导右边上下两个框框都没有东西了,说明替换成功ps:这里多说一句,如果你是程序员的话,应该明白,这个本质就是通过正则匹配,然后替换成指定内容而已,当然这个具体为什么替换成这些内容,只有问RehabMan大佬了
-
- 查找
layout
,并将3
替换为13
- 点击
Compile
,不管Warnings,有error就修复 -
接下来屏蔽独显: 开头处添加
External (_SB_.PCI0.PEG0.PEGP._PS3, MethodObj) External (_SB_.PCI0.PEG0.PEGP._PS0, MethodObj) External (_SB_.PCI0.PEG0.PEGP._OFF, MethodObj) External (_SB_.PCI0.PEG0.PEGP._ON, MethodObj) External (_SB_.PCI0.PEG0.PEGP.SGOF, MethodObj) External (_SB_.PCI0.PEG0.PEGP.SGON, MethodObj)
搜索
_WAK
,并在其之前添加Method (M_ON, 0, NotSerialized) { If (CondRefOf (\_SB_.PCI0.PEG0.PEGP._ON)) { \_SB_.PCI0.PEG0.PEGP._ON() } If (CondRefOf (\_SB_.PCI0.PEG0.PEGP._PS0)) { \_SB_.PCI0.PEG0.PEGP._PS0() } If (CondRefOf (\_SB_.PCI0.PEG0.PEGP.SGON)) { \_SB_.PCI0.PEG0.PEGP.SGON() } } Method (M_OF, 0, NotSerialized) { If (CondRefOf (\_SB_.PCI0.PEG0.PEGP._OFF)) { \_SB_.PCI0.PEG0.PEGP._OFF() } If (CondRefOf (\_SB_.PCI0.PEG0.PEGP._PS3)) { \_SB_.PCI0.PEG0.PEGP._PS3() } If (CondRefOf (\_SB_.PCI0.PEG0.PEGP.SGOF)) { \_SB_.PCI0.PEG0.PEGP.SGOF() } }
如下图
搜索
_WAK
,添加M_OF()
,如下图搜索
_PTS
,添加M_ON()
,如下图搜索
Method (_INI, 0, Serialized)
,并在图示位置添加M_OF()
- 点击
Compile
,检查有无错误,无错误则选择File
->Save as...
->ACPI Machine Language Binary
格式保存至桌面,有错误则从头再来 - 拷贝制作的
DSDT.aml
文件至引导分区EFI/Clover/ACPI/patched
SSDT-5.aml制作
- 打开
SSDT-5.dsl
,先点Compile
,没有error之后,再点击patch
,选择[igpu] Rename GFX0 to IGPU
然后点击Apply
,同理另存为ACPI Machine Language Binary
格式保存至桌面,如下两个图 - 拷贝制作的
SSDT-5.aml
文件和附件中SSDT-PNLF.aml
、SSDT-UIAC.aml
至引导分区EFI/Clover/ACPI/patched
制作SSDT.aml
打开终端,输入下方两条指令
curl -o ssdtPRGen.sh https://raw.githubusercontent.com/Piker-Alpha/ssdtPRGen.sh/Beta/ssdtPRGen.sh
chmod +x ssdtPRGen.sh
-
如果是i7 6700HQ使用
./ssdtPRGen.sh -p 'i7-6700HQ' -f 2600 -turbo 3500
-
如果是i5 6300HQ使用
./ssdtPRGen.sh -p 'i5-6300HQ' -f 2300 -turbo 3200
根据提示选择y
、n
cp /Users/用户名/Library/ssdtPRGen/ssdt.aml /Users/用户名/Desktop/SSDT.aml
同理把SSDT.aml
拷贝至引导分区EFI/Clover/ACPI/patched
至此你的patched
文件夹应包含以下内容
然后重启即可
0x08 蓝牙不可关闭修复
总结起来就是,根据供应商ID,找到产品ID,然后正确修改产品ID
-
关于本机
->系统报告
->找到蓝牙的供应商ID和产品ID供应商 ID: 0x8087 产品 ID: 0x0A2A
-
转换为10进制
供应商 ID: 32903 产 品 ID: 2602
-
打开Finder, 同时按下
windows+Shift+G
或者Alt+Shift+G
, 在弹出的框框输入/System/Library/Extensions/IOBluetoothFamily.kext/Contents/PlugIns/BroadcomBluetoothHostControllerUSBTransport.kext/Contents/
, 点击前往
将
Info.plist
文件拖到桌面, 编辑它搜索
Broadcom2045FamilyUSBBluetoothHCIController_D
, 然后修改idVendor
值为32903
和idProduct
的值为2602
如下:原来的如下
<key>IOKitPersonalities</key> <dict> <key>Broadcom2045FamilyUSBBluetoothHCIController_D</key> <dict> <key>CFBundleIdentifier</key> <string>com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport</string> <key>IOClass</key> <string>BroadcomBluetoothHostControllerUSBTransport</string> <key>IOProviderClass</key> <string>IOUSBHostDevice</string> <key>idProduct</key> <integer>33292</integer> <key>idVendor</key> <integer>1452</integer>
修改后如下
<key>IOKitPersonalities</key> <dict> <key>Broadcom2045FamilyUSBBluetoothHCIController_D</key> <dict> <key>CFBundleIdentifier</key> <string>com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport</string> <key>IOClass</key> <string>BroadcomBluetoothHostControllerUSBTransport</string> <key>IOProviderClass</key> <string>IOUSBHostDevice</string> <key>idProduct</key> <integer>2602</integer> <key>idVendor</key> <integer>32903</integer> </dict>
-
接下来打开一个终端, 输入如下命令, 先解锁
S/L/E
权限, 然后再将Info.plist
复制替换原来的文件sudo su sudo mount -uw / killall Finder
- 使用
Kext Utility
修复权限和重建缓存即可 - 效果如下,可开启,可关闭
0x09 耳机爆音修复
- 进入附件的
ALCPlugFix
目录 - 先用上面提到的解锁
S/L/E
权限的命令, 然后双击install双击自动安装.command
- 用
Clover Configurator
打开EFI/Clover/config.plist
,切换到Boot
,在Custom Flags
添加-lilubetaall -alcbeta
-
切换到
Devices
标签,Audio下的Inject
选择13
其实这一步操不操作没关系,因为我们已经在DSDT.aml中指定了
- 重启
0x10 windows和alt功能交换
如果发现笔记本自带键盘windows
键和alt
键的功能交换了,则需要用到Karabiner 交换windows
和alt
的功能
ps: 装了这个软件之后, 发现可以用Fn+F1
,Fn+F2
调出小太阳了~~~
0x11 背光保存
- 删除
/EFI/CLOVER/drivers64UEFI/EmuVariableUefi-64.efi
,然后重启两遍以上,即可保存背光亮度
0x12 其他的驱动
-
将
其他的驱动
里面的驱动拖到/EFI/CLOVER/kexts/Other
里面驱动名 驱动内容 Sinetek-rtsx.kext SD卡驱动,没测试过,不知道有没有用 BrcmFirmwareData.kext和BrcmNonPatchRAM2.kext和BrcmPatchRAM2.kext 蓝牙驱动 FakePCIID_Broadcom_WiFi.kext 无线网卡驱动 FakePCIID_Intel_HD_Graphics.kext 内置显卡驱动 FakePCIID_Intel_HDMI_Audio.kext HDMI_Audio驱动 FakePCIID.kext 没有这个,上面几个FakePCIID_xxx都无法正常工作 -
这个给出
蓝牙驱动
和FakePCIID系列
的下载地址https://bitbucket.org/RehabMan/os-x-brcmpatchram/downloads/ https://bitbucket.org/RehabMan/os-x-fake-pci-id/downloads/
- 关于驱动的说明: http://bbs.pcbeta.com/viewthr...
0x13 usb网卡
之前搞到一个802.11 的usb网卡, 我的笔记本现在用不了wifi(主要是穷...), 想着大佬肯定有驱动, 结果一找, 果然有, 装好后直接可以用了, usb网卡驱动地址: https://github.com/chris1111/...
0x14 iMessage的修复
注意: 如果到这个时候, 你还没有登录任何账号, 那么你的成功机会应该会蛮大的~~
找到Clover的config.plist
, 使用Clover Configurator
打开, 选择左侧SMBIOS
, 先勾选Trust
, 然后使用右侧上下箭头选择适合自己的SMBIOS型号, 这里我选的是MacBookPro13,3
, 如下图
复制 Serial Number
前往 Apple官网查询序列号 , 如果显示有购买日期和机型等保修信息, 说明这个序列号别人在用, 点击 Generate New
生成新的Serial Number, 直到出现下图提示为止
选择 Clover Configurator 左侧 System Parameters
, 生成一个UUID
复制生成等UUID粘贴到SMBIOS
的 SmUUID
里, 使用Win+s保存
复制SMBIOS
里的 Board Serial Number
, 粘贴到Clover Configurator 左侧 Rt Variables
的 MLB
里, 保存之后, 点击ROM右边的Generate
, 确保下方三码和自己刚刚操作生成的一致, 然后保存重启即可
重启之后, 可以打开系统偏好设置
, 来登录自己的Apple ID了, 登录完成之后, 打开IMessage看看, 应该可以使用了~~~
如果不行的话, 千万憋找我~~~
最后
- 附件什么的, 全部已上传至 github: https://github.com/fengwenhua...
- 欢迎大家访问我的博客: https://fengwenhua.top , 虽然博客上面没啥东西!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。