学会定制OC安装黑苹果不再是引导文件的难题。
制作DSDT补丁,是OC定制的第一步也是最关键的一步。考虑到网上几乎没有相关的教程,我试着从黑果小白的角度来关注这段视频中最关键的部分。
今天的教程是如何更方便地定制黑苹果系列小白教程的OC引导文件-----DSDT补丁篇
首先要明白DSDT文件概述了PC而普通的硬件信息PC以下硬件信息和Mac有很多冲突,我们需要修改打补丁Mac os能 硬件识别正常。
相关概念篇
DSDT (Differentiated System Description Table Fields)
SSDT (Secondary System Description Table Fields)
ACPI 是 Advanced Configuration & Power Interface 缩写、高级配置和电源接口,
ACPI与DSDT之间的关系
ACPI 它是操作系统的一系列接口,包含许多表格, DSDT 和 SSDT 既是表格,也是一些接口。
相关指导网站
1.ACPI官方指导网站
隐藏内容
https://dortania.github.io/Getting-Started-With-ACPI/
2.黑苹果六大神合作制作OC补丁模板(强烈推荐)
隐藏内容
https://github.com/daliansky/OC-little
官方推荐的补丁
官方推荐补丁 1.SSDT-plug.aml 加载CPU必须管理原生电源(四项节能)
2.SSDT-EC-USBX(同SSDT-EC):禁用EC(Embedded Controller)和修复USB充电问题,可选
3.SSDT-AWAC.aml 修复RTC禁止AWAC(或者使用RTC0.aml必须选择补丁,两者之一)
4.SSDT-PMC.aml 开启NVRAM (Z370、Z490和B460原生支持,不需要这个补丁,基本需要其他主板)可选
5.SSDT-RHUB:修复USB,华硕400系列主板需要 ,可选
黑苹果真正做到稳定运行还需要一些非常重要不可或缺的补丁,我推荐几个
6.SSDT-GPRW.aml 解决大部分PC睡眠即醒问题,
重命名需要搭配使用(rename 47505257 02 to 58505257 02)
7.SSDT-PM.aml 加载节能第五项(断电后自动重启生效,PC基本通用的补丁)
8.SSDT-OC-XOSI.aml 操作系统补丁,配合重命名rename 5F4F5349 to 584F5349技嘉主板需要
补丁制作篇
如何确定补丁与主板的匹配?
然后我们需要从主板开始DSDT分析文件信息
所以问题是如何提取主板DSDT原始文件。
windows、Mac、Linux无论哪个系统,都有很多软件支持提取DSDT信息
1.很多人在Windows下是使用SSDTTime但鉴于自动生成的补丁SSDTTime只支持有限的三种补丁 SSDT-EC、SSDT-PLUG、SSDT-HPET,我不推荐。
2.在Mac 下,用MaciASL可直接获得DSDT信息。
在MacOS使用MaciASL提取DSDT 3.支持PC强烈推荐不安装任何系统的生产clover -U盘启动提取DSDT提取信息DSDT文件最原始最佳。
三步走
1.将U盘格式化为U盘FAT32格式, 解压 (群1125705781共享里已提供)DSDT EFI.zip ,EFI将文件夹放入U盘根目录下
2.设置BIOS,从U盘开始,
3.启动到clover界面,按键盘F4(有些笔记本可能是F4 Fn)会自动提取DSDT文件到U盘EFI/ClOVER/ACPI/origin文件夹下
4.获取后,找到U盘EFI/ClOVER/ACPI/origin文件夹下DSDT.aml
这里推荐使用宪武大神和黑果小兵制作补丁github上面制作的一系列OC-DSDT补丁模板
还有详细的制作和使用说明,非常实用,强烈推荐。
克隆OC-little、https://github.com/dortania/Getting-Started-With-ACPI
集合OC官方指导和补丁模板说明文档OC官方补丁
如何使用关键字来确定我们的主板使用什么样的补丁?
SSDT-plug.aml 加载CPU必须管理原生电源(四项节能)
补丁位置:05-1 注入X86 (OC-little 补丁库 )
用MaciASL打开DSDT.aml
搜索cpu的关键字:
Processor 找到相应的路径SB.PR
使用SB.PR00 找同名补丁,另存SSDT-plug.aml,
格式选为ACPI Machine Language Binary
如果加载后重启无效,请清理一次nvram,检查偏好设置–节能
SSDT-EC-USBX:禁用EC(Embedded Controller)和修复USB充电问题
也可以通过hackintool定制USB生成端口映射时,可选
搜索 PNP0C09
ec也有可能是名字H_EC或EC0或其他
若有return (Zero)不需要禁用句子EC
不建议使用此补丁DSDT-EC.aml补丁(尤其是技嘉主板)
SSDT-AWAC.aml 修复RTC禁止AWAC
补丁位置:03-2进制更名和预置变量-补丁库 (OC-little 补丁库 )
从原文可以看出,只要 `STAS`=`1`,就可以启用 RTC 并同时禁用 `AWAC`
搜索 Device (RTC) 、Device (AWAC)、ACPI000E、PNP0B00
原文:
Device (RTC)
{
...
Method (_STA, 0, NotSerialized)
{
If ((STAS == One))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
...
}
Device (AWAC)
{
...
Method (_STA, 0, NotSerialized)
{
If ((STAS == Zero))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
...
}
```
从原文可以看出,只要 `STAS`=`1`,就可以启用 RTC 并同时禁用 `AWAC`。采用 **预置变量法** 如下:
- 官方补丁 ***SSDT-AWAC***
```Swift
External (STAS, IntObj)
Scope (_SB)
{
Method (_INI, 0, NotSerialized) /* _INI: Initialize */
{
If (_OSI ("Darwin"))
{
STAS = One
}
}
}
```
注:官方补丁引入了路径 `_SB._INI`,使用时应确认 DSDT 其他补丁也不存在 `_SB._INI`。
- 改进后补丁 ***SSDT-RTC_Y-AWAC_N***
External (STAS, IntObj)
Scope (\)
{
If (_OSI ("Darwin"))
{
STAS = One
}
}
``
也可用DSDT-RTC0.aml补丁实现。
SSDT-PMC.aml 开启NVRAM (Z370、Z490和B460原生支持,可以不需要此补丁,其他主板基本都需要)可选
官方补丁:extra-files---compiled (官方补丁库)
在OC0.5.5正式版开始支持300系列的原生nvram。
搜索001F0000 或 PNP0A08 确定路径 (出现多个,取第一个)
确定lpc部件名称并记录lpc的路径,比如我的LPC路径在_SB_.PC00.LPC0
打开SSDT-PMC.dsl,根据自己路径的信息编辑该补丁
SSDT-RHUB:修复USB,华硕400系列主板可能需要 ,可选
搜索 Device (RHUB) 确定路径
官方补丁:extra-files---compiled (官方补丁库)
SSDT-GPRW.aml 解决大部分PC睡眠即醒问题, 需搭配重命名使用 (rename 47505257 02 to 58505257 02)
补丁位置:12-060D补丁-12-1普通的060D补丁 (OC-little 位置 )
`_PRW` 定义了一个部件的唤醒方法
这些部件 `_PRW` 数据包的第 1 个字节是 `0D` 或者 `6D
`_PRW` 数据包的第 2 个字节多为 `03` 或者 `04`,将这个字节修正为 `0` 即完成了 `0D/6D补丁`
搜索ADR地址,_PRW
- `ADR` 地址:`0x001D0000`, 部件名称:`EHC1`。
- `ADR` 地址:`0x001A0000`, 部件名称:`EHC2`。
- `ADR` 地址:`0x00140000`, 部件名称:`XHC`, `XHCI`, `XHC1` 等。
- `ADR` 地址:`0x00140001`, 部件名称:`XDCI`。
- `ADR` 地址:`0x00140003`, 部件名称:`CNVW`。
Name (_PRW, Package (0x02)
{
0x0D, /* 可能是0x6D */
0x03,/* 可能是0x04 */
...
}
使用此补丁还要配合重命名使用
(rename 47505257 02 to 58505257 02)
SSDT-PM.aml 加载节能第五项(断电后自动重启生效,PC基本通用的补丁,实际没什么作用)
SSDT-OC-XOSI.aml 操作系统补丁,配合重命名rename 5F4F5349 to 584F5349,技嘉主板需要
补丁位置:04 操作系统补丁 (OC-little 位置 )
操作系统补丁 用于解除系统对某些部件的限制。通常情况下,「不建议」使用 对于受系统限制而无法正常工作的部件,应根据 ACPI 的具体情况定制补丁
好了,DSDT补丁制作结束了,如何有帮到你,别忘了点赞投币收藏,也可以给我充电哦,如果还有不清楚的地方,也可以私信我。