祝贺远景开放,开启完美黑苹果新天地!(抛弃传统DSDT方法,完美黑苹果)
2017年5月20日 12:50 阅读 457 新浪博客 出自:https://weibo.com/p/23041874f0e4330102x1sy
值此远景正式开放之日,作为一个老会员,特首发ACPI HOTPATHED(动态热修补ACPI)方式安装笔记本黑苹果方法,希望有更多的高手加入进来,增加各种不同机型的修补文件,做到一个配置文件,适应不同的笔记本!1,什么是HOTPATCH,它的优点是什么?
引入一段原文:
"static patching". In order to inject patched ACPI files, weextract native ACPI, disassemble them, make changes, then recompileand place the files in ACPI/patched,
so that Clover injects the patched ACPI instead of native ACPI.With the techniques detailed in this guide, the changes can be madedirectly to the ACPI binaries
provided by BIOS, skipping the extract, disassembly, andrecompilation steps.
所谓“静态补丁”。为了修补ACPI文件,我们需要提取本地ACPI,反汇编后进行更改,然后重新编译并将文
件放在ACPI/patched中,然而,打补丁的ACPI却不是本机ACPI。
本文详述的技术(HOTpatch,或者叫动态补丁),直接对BIOS提供的ACPI二进制文件进行更改(更名),跳
过提取,反汇编和重新编译步骤。
理解:
1“打补丁的ACPI却不是本机ACPI”:比如,我们提取的DSDT有一些错误和警告,需要修补才能重新编译。
实际上,BIOS提供的DSDT并没有错误,是反编译过程中产生的。
2“直接对BIOS提供的ACPI二进制文件进行更改”:二进制文件内包括指令和数据,我们只是修改数据,让指令
寻找数据和对这个数据处理过程失效。而代替它的是我们的第三方文件,并参与和ACPI一起工作。
3如果我们对ACPI二进制文件更改得当,HOTpatch可以在更新BIOS后仍然很好的工作,甚至可以跨平台工作,
除了BIOS更新后更改了我们要修改的那个数据。
二、HOTpatch缺陷
RM的HOTpatch文件中唯独没有电池patch,源于苹果按字节读取电池信息,而大多数机器的BIOS提供双字节数
据。为了让电池工作正常,我们要拆分数据。不像其他HOTpatch文件那样,只需对DSDT名称更名屏蔽其工作,
再替换成第三方文件。电池的问题限制了跨平台工作的范围和可能性。虽然这样,HOTpatch仍然很优秀。
三、HOTpatch更名补丁(HOTpatch核心一)
简单说就是对DSDT某个方法的名称更名,使它失效。然后,你的第三方文件中重新命名那个名称,让它按自己
的方式工作。
比如:原来的唤醒名称是_WAK,我们更名为ZWAK,原来DSDT关于_WAK的部分失效了。而第三方文件重新命名
_WAK这个名称,内容我们自己设定,自然,工作过程就是我们想要的了。
有些更名不是简单更名,针对方法的更名才起作用。比如,有几处“sss”,只有一个是方法,其他是另外一个方
法调用“sss”,全部更名不会起到任何作用,只能更名包括方法的那个“sss”才奏效。
利用clover的强大功能就能进行DSDT更名操作,就在config.plist文件内完成。
四、HOTpatch文件:SSDT-xxx.aml(HOTpatch核心二)
SSDT-xxx.aml是第三方文件。SSDT-xxx.aml不再依赖BIOS版本,甚至不依赖于机器平台。其中SSDT-Config.aml是HOTpatch文件中的重要配置文件,它决定第三方文件的工作方式。HOTpatch是否能够跨平
台工作,取决于HOTpatch更名补丁、配置文件和第三方文件的一致性。
=======================
本HOTpatch文件命名规则:
1,文件名:
格式:SSDT-???或者SSDT-???#或者SSDT-???-X?
???:RM原文件名称
#:在原文件基础上修改或者增加ID号
X?:X标示特殊的HOTpatch文件,?表示版本号
比如:SSDT-IGPU、SSDT-IMEI是RM的原文件,未做任何修改。
SSDT-HDEF#是声卡文件,“#”表示了原文件提供的ID对本机不适用,做了相应修改。
SSDT-FnKey-X、SSDT-BATT-X1是ThinkPad机型关于FN快捷键和电池的文件。“1”表示经过了一次更新。
2,颜色
用了三种颜色来表示HOTpatch文件适用范围。
黄色:配置文件。
红色:有一定的特殊性,一定时期的ThinkPad笔记本都适用。
绿色:通用性文件
HOTpatch文件更新网站
https://github.com/RehabMan/OS-X-Clover-Laptop-Config/tree/master/hotpatch
驱动更新网站
https://bitbucket.org/RehabMan/
参考文献:
1https://www.tonymacx86.com/threads/guide-using-clover-to-hotpatch-acpi.200137/
2 https://blog.neroxps.cn/blog/macOS/Hotpatch.html
五、目前已经适配的机型
采用hotpatch技术,目前在一个黑粉的修改下,适配thinkpad三代机型,包括thinkpadt430,t430s,t530,w530等IVH平台的机型,一套cloverEFI配置,这些机型都可以完美驱动,甚至于T420等前一代机型也可以大部分完美,除个别声卡ID和驱动需要单独修改,别的基本完美,目前我自己用的T530在经过了各种驱动,DSDT拼凑感觉不甚完美的前提下,使用了这个EFI,全部硬件特别完美,包括原声电源管理,开启XCPM模式,变频,睡眠,声卡仿冒,亮度调节控制,电池显示全部得到完美解决!
六、想达到的效果
想通过此修补方法,在论坛召集更多的高手,写入适配更多机型的ACPI修补,已达到一套EFI文件,适配多种平台的笔记本机型
七、HOTPATCH文件的组成
文件组成由CLOVER里的PATHED目录下的各个AML文件和CONFIG.PLIST文件构成,相信会修改DSDT的大神们一看就能明白,但是自己不会修改,所以希望有更多的人参与用这个方法来完美笔记本黑苹果
不同的屏幕分辨率在SSDT的配置文件修改即可适配
八、关于THINKPADT430/530/230/430S等机型的说明
作为一个小黑爱好者,自己用的笔记本基本都是THINKPAD,而且黑苹果在THINK的机型上也比较完美,对于联想的机器,最麻烦的是BIOS白名单问题,而且从UEFI的BIOS开始,联想已经不允许把经过修改的BIOS文件通过软件来刷入BIOS芯片,想要修改白名单或者去掉白名单,必须把bios芯片焊下来用编程器写入才可以,对于我等菜鸟,自然是不敢乱动,这个系列的THINK机型,经过测试,对于无线网卡的支持,发现在T430机型里,还支持AR9285系列的无线网卡,对于T530,截止到2.52的BIOS也支持AR9285无线网卡,其他机型老版本(1.13)也支持,但是最新的BIOS版本,只有T430支持此网卡,别的都已经不支持了,如果想用AR9285(苹果完美支持),不需要刷白名单,只需要把BIOS降级到对应支持的版本,把无线网卡的ID刷成BIOS里支持的即可,AR9k系列有专门的刷写工具,见附件
九、完整的HOTPATH的CLOVEREFI文件附件
附件大,无法上传,从百度下载,CLOVER采用的R2.4K,40XX的版本,建议最新的10.12.4以后不要用老的CLOVER版本
链接: https://pan.baidu.com/s/1dFBviX7 密码: kbx4