文章前言

读了一下远景论坛联合SSDT编译DSDT以减少错误的帖子,自己做实验也没成功编译成aml文件,但是发现了几种提取ACPI表的方法。

ACPI由很多表组成,包括:RSDP,SDTH,RSDT,FADT,FACS,DSDT,SSDT,MADT,SBST,XSDT,ECDT,SLIT,SRAT。(略写了,不用太详细介绍)其中DSDT就是它的一个重要的描述表。

DSDT使用的编程语言是ASL(ACPI Source Language),具体的可以百度一下官方网站,并且网站提供了工具一些平台的编译器,可能Unix平台需要自己下载编译后才能用,我现在用的KALI linux,顺利编译成功,会提供下载。

编译后的文件除了IASL外还提供了很多工具,我只略研究了一下IASL和APCIDUMP这两个工具,ACPIDUMP用来提取ACPI表的工具,iasl是编译程序。

好了,一知半解吓唧唧了半天,进入正题提取DSDT,有英文好的可以翻译一下帮助文件。

iasl选项

iasl -h //获取更多帮助

acpidump选项

acpidump -h //获取更多帮助

实现方法

sudo cp acpidump iasl /usr/bin  复制acpidump和iasl到/usr/bin目录

mkdir acpi  //新建一个acpi文件夹

cd acpi  //进入acpi文件夹

acpidump -b  //提取acpi所有表

iasl *.dat  //编译dat文件为dsl

打开acpi目录你会看到DSDT和SSDT等文件了。如果需要dsdt或者ssdt的可以拷贝出来用MACIASL等软件进行修复错误并编译吧,目前我就研究到这里,又能力的朋友也可以好好研究一下,比如说如何只提取DSDT或者SSDT文件吧。

文件下载

百度云盘

提取密码:*** [隐藏信息,登陆并发表评论后刷新可见!]

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。