一键下载源码并编译黑苹果常用驱动脚本

一键下载源码并编译黑苹果常用驱动脚本

我参考了headkaze和Gengik84的脚本,按我想要的方式修改了一份,代码写得不咋样,如果有bug还请谅解。

注意:目前脚本不兼容Xcode10,请使用Xcode9.4.1版本

该脚本亦在远景论坛发布,点我查看

准备工作(重要)

1.自行下载并安装Xcode(必做)以及Xcode Command Line Tools(可选)
    登录Apple Developer资源库下载Xcode9.4.1,安装完后第一次打开,同意一份协议后,继续安装,关闭。
    (脚本没有考虑beta版Xcode的情况)
    (可选)终端运行xcode-select –install安装Xcode的命令行工具。

2.补全MacOSX-SDK
    编译某些驱动要求使用旧版OSX(macOS)系统的SDK,例如Voodoo-PS2-Controller,如果缺少这些sdk就会编译失败。
    补全MacOSX-SDK方法:
    终端输入

git clone https://github.com/phracker/MacOSX-SDKs

回车

如果你在拉取SDK的时候遇到问题(网络等),可以直接下载我这里提供的SDK包。点我下载

open ~/MacOSX-SDKs

回车。把10.6,10.7,10.8,10.9,10.10,10.11,10.12的SDK文件夹都选中,右键,选拷贝,打开这个目录:

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs

空白处右键,选粘贴,需要输入密码。
把下面路径的这个文件复制到桌面上

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Info.plist

使用Xcode或者PlistEdit Pro打开它
找到MinimumSDKVersion项,把值修改成10.6,保存关闭
把修改完成的文件替换原来的目录位置的同名文件。

下载解压后直接双击打开,也可以把buildlilu(buildkext)文件放到/bin或/usr/bin或/usr/local/bin里面(方便以后使用),然后打开终端输入buildlilu(buildkext)回车。

由于编译VirtualSMC需要相应版本的nasm,ndisasm,mtoc,mtoc.NEW这四个文件,脚本会自动侦测并下载到/usr/local/bin目录里面。如果你使用脚本下载这些文件遇到问题,可以下载我这里提供的这四个文件放到/usr/local/bin里面。点我下载

支持编译的驱动

脚本会自动下载最新版驱动源码并编译出如下驱动:

kexts

下载地址

只编译Release版:点我下载(推荐使用)

编译Release,Debug以及Sanitize版本:点我下载

历史更新

2019/10/04,修改如下:

  • 使用Acidanthera版本的AirportBrcmFixup驱动替换lvs1974版本
  • 使用Acidanthera版本的HibernationFixup驱动替换lvs1974版本
  • 使用Acidanthera版本的CPUFriend驱动替换PMheart版本
  • 使用Mieze版本的OS-X-BrcmPatchRAM-Catalina驱动替换RehabMan版本
  • 使用Mieze版本的RTL8111_driver_for_OS_X驱动替换RehabMan版本
  • 使用athlonreg版本的ATH9KFixup替换chunnann版本

2019/7/27,修改如下:

  • 修正VoodooPS2项目编译方法以适配源码结构更改
  • 添加al3xtjames版本的AtherosL1cEthernet驱动编译支持
VoodooPS2

2019/5/17,修改如下:

  • 移除RehabMan版本的IntelMausiEthernet驱动编译支持 
  • 添加添加Acidanthera版本的IntelMausi驱动编译支持 

2019/4/23,修改如下:

  • 添加Acidanthera版本的VoodooPS2的编译支持(新的VoodooPS2Trackpad使用Apple驱动程序模拟Magic Trackpad,而不是自己处理所有手势。它允许使用Apple定义的任何单指,双指和三指手势),建议用来替代老旧的RehabMan版本OS-X-Voodoo-PS2-Controller
VoodooPS2

2019/1/25,修改如下:

  • 更改RehabMan的VoodooPS2Controller.kext驱动编译方法,由原来的调用xcodebuild来编译方式更改为使用makefile脚本来编译 
  • 屏蔽Mieze的RTL8111_driver_for_OS_X驱动的编译支持(经多次测试反馈Mieze的GitHub上下载的源码编译出来的驱动是1.4的版本,而不是Mieze放出的release最新版2.2.2,考虑再三把该驱动更换成RehabMan的版本,可以编译出2.2.1版本)
  • 屏蔽Mieze的IntelMausiEthernet驱动的编译支持,更换为RehabMan的版本 
  • 添加RehabMan版本的RealtekRTL8111驱动的编译支持 
  • 添加RehabMan版本的IntelMausiEthernet驱动的编译支持

2019/1/17,修改如下:

  • 屏蔽AppleBacklightFixup的编译支持的代码(该驱动功能可由新版WhateverGreen实现)
  • 添加DiskArbitrationFixup的编译支持
  • 添加SystemProfilerMemoryFixup的编译支持
  • 添加VoodooSDHC的编译支持
  • 添加Sinetek-rtsx的编译支持
  • 增加AppleALC的Sanitize版本驱动编译支持
  • 增加后缀带q的快速版,只编译Release版的驱动,完成速度比完整版要快

2018/10/21,修改如下:

  • 添加RehabMan版本的VoodooTSCSync的编译支持(RehabMan版本已实现全自动化,不需要手动修改线程数,但移除了对AMD的CPU的支持)
  • 添加NoVPAJpeg的编译支持
  • 屏蔽EnableLidWake编译支持的代码(该驱动功能可由WhaterGreen来实现,等价于在fb上启用“FBAlternatePWMIncrement1/2”标志位)
  • 添加Lilu,WhateverGreen和VirtualSMC的Sanitize版本驱动编译支持
  • Tips:XHCI-200-series-injector.kext、XHCI-300-series-injector.kext还有XHCI-x99-injector.kext已被合并成XHCI-unsupported.kext(OS-X-USB-Inject-All项目附带)

2018/10/13,修改如下:

  • 添加AppleBacklightFixup的编译支持
  • 在git clone 时增加–depth==1参数以期望加快源码拉取速度(自从微软收购github后,git clone速度一日不如一日,建议上梯子再拉取源码)
  • 屏蔽AzulPatcher4600编译支持的代码(该驱动不支持10.14且相关功能可由WhaterGreen实现,其中的9m Cursor补丁可通过“framebuffer-cursormem=00009000”来实现,可解决移动版HD4600局部花屏问题)

2018/09/10,添加如下驱动编译支持:

  • RTL8111_driver_for_OS_X
  • IntelMausiEthernet
  • AtherosE2200Ethernet
  • RealtekRTL8100
  • OS-X-Voodoo-PS2-Controller(编译需要10.8的SDK)
  • OS-X-USB-Inject-All(编译需要10.11的SDK)
  • OS-X-BrcmPatchRAM(编译需要10.6的SDK)
  • OS-X-ACPI-Battery-Driver
  • OS-X-Null-Ethernet 
  • XHCI-200-series-injector.kext(OS-X-USB-Inject-All项目附带)
  • XHCI-300-series-injector.kext(OS-X-USB-Inject-All项目附带)
  • XHCI-x99-injector.kext(OS-X-USB-Inject-All项目附带)

2018/09/07,最初版本,添加如下驱动编译支持:

  • Lilu
  • WhateverGreen
  • AppleALC
  • AirportBrcmFixup
  • HibernationFixup
  • ATH9KFixup
  • ATH9KInjector(ATH9KFixup项目附带)
  • AzulPatcher4600(不支持10.14且相关功能可由WhaterGreen实现,不推荐使用)
  • BT4LEContiunityFixup
  • CPUFriend
  • EnableLidWake
  • NoTouchID
  • VirtualSMC(编译需要nasm,ndisasm,mtoc以及mtoc.NEW,且所需时间比较长)

Written by

Mison

2 thoughts on “一键下载源码并编译黑苹果常用驱动脚本

发表评论

电子邮件地址不会被公开。 必填项已用*标注