有条件的用户最好还是制作自己的专用文件
纯粹记录,按以下步骤进行
开机到Clover引导界面,按F4保存原始DSDT文件
拷贝EFI-Clover-ACPI-Origin目录出来
进入macOS,参考教程使用iasl执行以下命令对Origin内的DSDT.aml文件进行转换,得到DSDT.dsl文件
./iasl -da -dl DSDT.aml
使用MaciASL(赠送上述使用的iasl程序)打开DSDT.dsl文件,点击编译会发现很多error
主要修改以下地方,代码位置可参考MaciASL提示错误位置或者搜索查找
修复一:主要是PM6H和PM0H的代码混在一起了,这是常见的问题
原始
If (LEqual (PM6H, One))
{
CreateBitField (BUF0, \_SB.PCI0._Y0C._RW, ECRW) // _RW_: Read-Write Status
Store (Zero, ECRW (If (PM0H)
{
CreateDWordField (BUF0, \_SB.PCI0._Y0D._LEN, F0LN) // _LEN: Length
Store (Zero, F0LN)
}))
}修改
If (LEqual (PM6H, One))
{
CreateBitField (BUF0, \_SB.PCI0._Y0C._RW, ECRW) // _RW_: Read-Write Status
Store (Zero, ECRW)
}
If (PM0H)
{
CreateDWordField (BUF0, \_SB.PCI0._Y0D._LEN, F0LN) // _LEN: Length
Store (Zero, F0LN)
}修复二:留意最后一行
原始
Scope (_SB)
{
Device (AMW0)
{
Mutex (WMIX, 0x01)
Name (_HID, "*pnp0c14") // _HID: Hardware ID修改
Scope (_SB)
{
Device (AMW0)
{
Mutex (WMIX, 0x01)
Name (_HID, "PNP0C14") // _HID: Hardware ID修复三:留意第一行,启用USB3的支持
原始
If (_OSI ("Windows 2006"))
{
Store (0x07D6, OSYS)
}修改
If (LOr (_OSI ("Darwin"), _OSI ("Windows 2006"))) // Injects Darwin to enable USB3/XHC support
{
Store (0x07D6, OSYS)
}再试下编译,发现已经没有error了,还有很多警告的内容可以忽略不用管
最后再另存文件格式为“ACPI Machine Language Binary”可以保存修复好的DSDT.aml文件使用
评论
tyutbxc
回复站长您好,您在文中提到的isal下载地址点进去之后下不下来,您方便上传一下isal文件百度云下载链接吗?谢谢站长
cwen
回复@tyutbxc 已放到文初的MaciASL同一个下载链接内
tyutbxc
回复@cwen 谢谢站长,辛苦了