【UEFI实战】Linux下如何解析ACPI表

说明

本文介绍如何在Linux下查看ACPI表示。使用的系统是Ubuntu18.04:

Linux home 4.15.0-36-generic #39-Ubuntu SMP Mon Sep 24 16:19:09 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

可以在如下的目录看到ACPI的基本信息:

【UEFI实战】Linux下如何解析ACPI表_第1张图片

但是默认的表都是不可以直接查看的:

【UEFI实战】Linux下如何解析ACPI表_第2张图片

所以需要借助额外的工具来查看。

iasl

iasl是一个编译和解析ACPI的工具,在编译UEFI的时候也是必不可少的。默认Ubuntu是不会安装这个的,需要额外安装(注意需要在root用户下安装):

apt install iasl

iasl安装之后如下所示:

【UEFI实战】Linux下如何解析ACPI表_第3张图片

之后就可以通过iasl命令来解析ACPI文件了。但是需要注意,不能直接在上述的/sys/firmare/acpi/tables上来解析,会报错:

【UEFI实战】Linux下如何解析ACPI表_第4张图片

所以我们先将需要解析的文件拿出来再解析:

【UEFI实战】Linux下如何解析ACPI表_第5张图片

可以看到解析成功了,并生成了新的dsl文件,可以通过cat来查看:

【UEFI实战】Linux下如何解析ACPI表_第6张图片

acpidump

上述的iasl工具获取ACPI表需要从特定目录去拿,比较复杂,这里还可以用一个简单的工具acpidump来获取。它是一系列工具中的一个,可以通过如下的命令来安装:

apt install acpica-tools

acpidump工具需要在root用户下使用,帮助说明如下:

【UEFI实战】Linux下如何解析ACPI表_第7张图片

之后可以通过-s来查看现有的表:

【UEFI实战】Linux下如何解析ACPI表_第8张图片

然后通过-n xxx -b来生成某个表的二进制文件,之后就又可以通过iasl来解析:

【UEFI实战】Linux下如何解析ACPI表_第9张图片

以上就是对APCI表在Linux下解析的一些说明。

你可能感兴趣的:(Linux,UEFI开发基础,uefi,linux,acpi,iasl,acpidump)