下面,小编就把自己所了解的制作 DSDT 的方法介绍给需要的朋友,当然,小编要特别说明的是 DSDT 并不是安装黑苹果必须的,也不要盲目的使用 DSDT,它只是为了让我们的黑苹果更接近白苹果。
首先,让我们先来了解下什么叫 DSDT?
ACPI 全称为 Advanced Configuration and Power Interface 即高级配置和电源管理接口
是由 HP、Intel、Microsoft、Phoenix 和 Toshiba 共同开发,用来定义能够为主板上设备提供操作系统配置和电源管理的硬件和软件接口的公开的行业规范。它能在操作平台独立的方式下描述系统硬件并且以固定格式的数据结构或者 AML 形式表示,最主要的 AML 表便是 DSDT(differentiated system description table)。
DSDT 是最大也是最重要的表因为它描述了主板上的设备,DSDT 和其他 ACPI 表是储存在 BIOS 而且只描述主板上的硬件。因为 Windows 的优化可能会导致一些错误,所以我们需要用一些符合 OS X 系统需要的声明来绕过之前有错误的 DSDT 表从而使兼容性更可能的好。
我们通过 变色龙 引导加载编辑过的 DSDT 而不是工厂预设的,可以达到以下效果:
1.DSDT 中的仿冒 device-id 能够取代仿冒驱动。
2. 系统更新可能会使修改过的驱动或者仿冒驱动失效但无法使 DSDTpatch 失效。
3.DSDT 修改能使系统睡眠并开启原生降频。
4. 大规模的修改能够加速启动过程。
接着,小编分别以 Mac 平台、Linux 平台和 Windows 平台来讲解如何提取 DSDT。
Mac 平台提取 DSDT:
确认没有加载 DSDT 的前提下进行,在终端中运行 dsdt.sh 这个脚本,它将把所有的 ACPI 表都提取到 /Users/ 你的用户名 /ACPI 目录下,当然,你也可以使用像 DSDTSE,Chameleon Wizard 类似的软件。
Linux 平台提取 DSDT:
在 Linux 终端中输入:cat /proc/acpi/dsdt > dsdt.aml
Windows 平台提取 DSDT:
AIDA64 或其他工具提取 DSDT 和 SSDT,提取方法如下:
接下来小编来说说.dsl 与.aml 的编译与反编译:
当从系统中提取出 DSDT 以及其他 ACPI 表时,他们的格式是 ACPI Machine Language(ACPI 机器语言,后缀为.aml),我们要修改的话,DSDT 需要先反编译成.dsl 文件。用来编译和反编译 ACPI 表的程序叫做 iASL(点我下载),使用方法如图所示:
教程所用到的一些工具: