Skip to content

Latest commit

 

History

History
481 lines (325 loc) · 17.6 KB

README.md

File metadata and controls

481 lines (325 loc) · 17.6 KB

更新到10.14.5

  • 直接更新, 然后按照上面的教程修复蓝牙即可, 其他的(如背光, 声音等)都没有问题. 唯一不爽的是, Karabiner不起作用...现在我的windows键与alt键没办法交换回来... ...(自己好了... .)


7559黑苹果10.14.4

参考链接: Dell 7559 安装10.14GM教程(i5+UEFI)

安装10.14.3链接: Dell-7559-10.14.3

  • 最近出了10.14.4, 忍不住升级了一波,结果黑屏....好吧,一怒之下,直接重装,就是这么霸气!
  • 好吧,废话少说,先看看效果然后再决定往下看

  1. 声卡完美,耳机自动切换,笔记本快捷键,F1静音,F2调低声音和F3调高声音

  1. 背光可调,也就是所谓的小太阳,笔记本快捷键Fn+F1Fn+F2

  1. USB3.0驱动成功

  1. 蓝牙可用,可关闭打开

  1. 睡眠可用,电量正常显示

  1. 摄像头可用,使用mac自带的Photo Booth检测

  1. 独显已经屏蔽

  1. 可变频,测试软件Intel Power Gadgetcpu-s,这两个软件我已经下载好放在附件中了

0x00 电脑配置

  • CPU: i7-6700HQ
  • 内存: DDR3L 1600MHz *2
  • 硬盘: 128G+1T
  • 显卡: GTX960M 4G + Intel HD Graphics 530
  • 声卡: ALC256
  • BIOS版本:1.2.8

0x01 BIOS准备

  1. 如果cpu是i5的,则需要去官网下载1.0.1的BIOS版本刷入,我是i7,所以不用管
  2. 更改BIOS设置如下
 - 恢复BIOS默认设置
 - AHCI mode 选择 SATA
 - 关闭 VT for direct I/O
 - 关闭 Advanced Battery Charging
 - 关闭 Secure boot
 - 关闭 SupportAssist System Resolution
 - 关闭 Firmware TPM

0x02 系统安装

  1. 下载macOS Mojave镜像: 黑果小兵】macOS Mojave 10.14.4 18E226 正式版 with Clover 4903原版镜像
  2. 检查下载的系统的md5是否是下载链接处提供的ee923768b29194efc704bcf34d7f9fd8

  • windows下,使用certutil命令
certutil -hashfile 系统镜像 MD5
  • mac下使用md5
md5 系统镜像
  1. 如果在windows下,则使用transmac将镜像写入U盘,如果在mac上,则使用balenaEtcher将镜像写入U盘
  • 使用transmac将镜像写入U盘:先选择Format Disk for Mac格式化为Mac格式,然后选择Restore with Disk Image将镜像写入U盘

  • 使用balenaEtcher将镜像写入U盘:傻瓜式操作,选择下载的系统镜像,选择U盘,然后点击Flash,等待即可

  1. 在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分区里面,当然,不能保证可以进入系统!最好还是跟我教程,自己一步步安装!

  1. 然后可以拿着这个U盘启动盘去装系统了,具体的如何安装系统以及将启动U盘的CLOVER放在本地的EFI下的步骤这里略过,如果上面的操作正常,安装完成后是可以进入到mac系统的

0x03 驱动安装

  1. Clover Configurator挂载本地EFI,进入/EFI/CLOVER/kexts/Other,移除多余的驱动,以及增加一些必备的驱动.

原来的如下:

修改后如下: 下面增加的驱动,都可以在下面Backup文件夹找到, 如果找不到,就去最终的clover那里找

  1. Other下的驱动可以生效, 打开/EFI/CLOVER/config.plist,在System Parameters->Inject Kexts改成Yes,然后保存

  1. 移除键鼠标驱动, 防止与Other下的鼠标驱动ApplePS2SmartTouchPad.kext冲突, 终端输入:
sudo rm -rf /System/Library/Extensions/AppleACPIPS2Nub.kext
  1. 安装Clover_v2.4k_r4901.pkg,这个很重要,需要自定义安装RC Scripts,不然可能无法保存背光

  1. 重启准备进行dsdtssdt制作

0x04 DSDT和SSDT文件制作

如果你对BIOS版本和我的一样,那么直接用我CLOVER/ACPI/patched文件夹里面的文件即可,也就是说不用看这节的内容了.需要说明的是,一般来说,不同BIOS版本的文件不能通用,容易出错, 从而进不去系统

前期准备

  1. 开机选择Mac图标,按下F4,所需文件会自动出现在EFI/Clover/ACPI/origin文件夹
  2. 使用Clover Configurator加载引导分区EFI,如下图

  1. EFI/Clover/ACPI/下的origin文件夹复制到桌面

  1. 复制附件中的iaslrefs文件至桌面的origin文件夹
  2. 终端输入:
cd ~/Desktop/origin
sudo cp iasl /usr/bin
iasl -da -dl -fe refs.txt DSDT.aml SSDT*.aml

将会有****.dsl文件创建于origin文件夹,如下图

DSDT文件制作

注意每改一下,都要Compile一下,查看是否有error,修复它,不管warning

  1. 使用MaciASL.app打开DSDT.dsl文件
  2. 点击Compile,出现4个error,都是PARSEOP_EXP_MULTIPLY错误,双击跳转到error位置,删掉这四行即可,如果遇到其他错误自行百度

  1. 查找HECIIMEI替代;查找HDASHDEF替代,

然后再Compile一下,不用管Warnings,没有Errors即可

  1. 点击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)

我放在附件中的MaciASL是最新版本的,已经包含了RehabMan Laptop的源,如下图.如果你发现点击Patch之后显示空白,则说明网络不好,要么等一会,要么科学上网.

  • 选择[syn] Rename _DSM methods to XDSM之后,等一会,然后点击Apply,然后再等一会,指导右边上下两个框框都没有东西了,说明替换成功

ps:这里多说一句,如果你是程序员的话,应该明白,这个本质就是通过正则匹配,然后替换成指定内容而已,当然这个具体为什么替换成这些内容,只有问RehabMan大佬了

  1. 查找layout,并将3替换为13

  1. 点击Compile,不管Warnings,有error就修复
  2. 接下来屏蔽独显: 开头处添加
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()

  1. 点击Compile,检查有无错误,无错误则选择File->Save as...->ACPI Machine Language Binary格式保存至桌面,有错误则从头再来

  1. 拷贝制作的DSDT.aml文件至引导分区EFI/Clover/ACPI/patched

SSDT-5.aml制作

  1. 打开SSDT-5.dsl,先点Compile,没有error之后,再点击patch,选择[igpu] Rename GFX0 to IGPU 然后点击Apply,同理另存为ACPI Machine Language Binary格式保存至**桌面,**如下两个图

  1. 拷贝制作的SSDT-5.aml文件和附件中SSDT-PNLF.amlSSDT-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

根据提示选择yn

cp /Users/用户名/Library/ssdtPRGen/ssdt.aml /Users/用户名/Desktop/SSDT.aml

同理把SSDT.aml拷贝至引导分区EFI/Clover/ACPI/patched 至此你的patched文件夹应包含以下内容

然后重启即可

0x05 蓝牙不可关闭修复

总结起来就是,根据供应商ID,找到产品ID,然后正确修改产品ID

  1. 关于本机->系统报告->找到蓝牙的供应商ID和产品ID

供应商 ID:   0x8087
产品 ID:    0x0A2A
  1. 转换为10进制
供应商 ID:    32903
产 品 ID:    2602
  1. 编辑/System/Library/Extensions/IOBluetoothFamily.kext/Contents/PlugIns/BroadcomBluetoothHostControllerUSBTransport.kext/Contents/Info.plist文件,搜索 IOKitPersonalities,然后修改idVendor值为32903idProduct的值为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>
  1. 使用Kext Utility修复权限和重建缓存即可

  1. 效果如下,可开启,可关闭

0x06 耳机爆音修复

  1. 进入附件的ALCPlugFix目录
  2. 双击install双击自动安装.command
  3. Clover Configurator打开EFI/Clover/config.plist,切换到Boot,在Custom Flags添加-lilubetaall -alcbeta

  1. 切换到Devices标签,Audio下的Inject选择13

其实这一步操不操作没关系,因为我们已经在DSDT.aml中指定了

  1. 重启

0x07 触摸板

ApplePS2SmartTouchPad.kext的作者已经不更新多年了, 本人装了这个驱动, 虽然触摸板上可以看到手势,但是却一个也用不了... ...所以下面是讲怎么安装RehabMan的触摸板驱动VoodooPS2Controller.kext的, 当然,如果你嫌麻烦,直接下载VoodooPS2Controller.kext放到Other下,然后重启一波就行!

  1. 安装指导链接 https://github.com/RehabMan/OS-X-Voodoo-PS2-Controller/wiki/How-to-Install
  2. 软件下载链接 https://bitbucket.org/RehabMan/os-x-voodoo-ps2-controller/downloads/
  3. /S/L/E/L/E中删除不兼容的kexts:
sudo rm -rf /System/Library/Extensions/AppleACPIPS2Nub.kext
sudo rm -rf /System/Library/Extensions/ApplePS2Controller.kext
sudo rm -rf /System/Library/Extensions/ApplePS2SmartTouchPad.kext
sudo rm -rf /Library/Extensions/AppleACPIPS2Nub.kext
sudo rm -rf /Library/Extensions/ApplePS2Controller.kext
sudo rm -rf /Library/Extensions/ApplePS2SmartTouchPad.kext
  1. 安装VoodooPS2Controller.kext(10.11及更高版本):
cd directory-to-where-your-unzipped-download-is
sudo cp -R Release/VoodooPS2Controller.kext /Library/Extensions
  1. 重建内核缓存:
sudo touch /System/Library/Extensions && sudo kextcache -u /
  1. 然后重启系统。
  2. 如果发现笔记本自带键盘windows键和alt键的功能交换了,则需要用到Karabiner交换windowsalt的功能

0x08 背光保存

  • 删除/EFI/CLOVER/drivers64UEFI/EmuVariableUefi-64.efi,然后重启两遍以上,即可保存背光亮度

0x09 其他的驱动

  • 其他的驱动里面的驱动拖到/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都无法正常工作
Sinetek-rtsx.kext SD卡驱动,没测试过,不知道有没有用没哟
Sinetek-rtsx.kext SD卡驱动,没测试过,不知道有没有用
  • 这个给出蓝牙驱动FakePCIID系列的下载地址
https://bitbucket.org/RehabMan/os-x-brcmpatchram/downloads/
https://bitbucket.org/RehabMan/os-x-fake-pci-id/downloads/

最后