clover day's补丁_DSU-Sideloader

(45) 2024-09-04 16:01:01

学会定制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

· 官方推荐的补丁

clover day's补丁_DSU-Sideloader (https://mushiming.com/)  第1张

官方推荐补丁
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 02 to 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信息。

clover day's补丁_DSU-Sideloader (https://mushiming.com/)  第2张

在MacOS使用MaciASL提取DSDT
3.支持PC没有安装任何系统情况下,强烈推荐一制作clover -U盘启动提取DSDT信息,提取的DSDT文件最原始最佳。

三步走

1.格式化一个U盘为FAT32格式, 解压 (群共享里已提供)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-二进制更名与预置变量----补丁库 (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 02 to 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` 地址:`0x00`, 部件名称:`XHC`, `XHCI`, `XHC1` 等。

- `ADR` 地址:`0x00`, 部件名称:`XDCI`。

- `ADR` 地址:`0x00`, 部件名称:`CNVW`。

Name (_PRW, Package (0x02)

{

0x0D, /* 可能是0x6D */

0x03,/* 可能是0x04 */

...

}

使用此补丁还要配合重命名使用

(rename 02  to 02)

SSDT-PM.aml 加载节能第五项(断电后自动重启生效,PC基本通用的补丁,实际没什么作用)

SSDT-OC-XOSI.aml 操作系统补丁,配合重命名rename 5F4F5349 to 584F5349,技嘉主板需要

补丁位置:04 操作系统补丁 (OC-little 位置 )

操作系统补丁 用于解除系统对某些部件的限制。通常情况下,「不建议」使用 对于受系统限制而无法正常工作的部件,应根据 ACPI 的具体情况定制补丁

好了,DSDT补丁制作结束了,如何有帮到你,别忘了点赞投币收藏,也可以给我充电哦,如果还有不清楚的地方,也可以私信我。

黑苹果资源

THE END

发表回复