修改 LattePanda BIOS 在 ACPI 中增加一个设备

2024-05-251.7万
精华项目
AI 快速预览详细 收起
本文介绍了如何在LattePanda的DSDT ACPI表中增加一个自定义设备。首先,解压原版IFWI中的ACPI模块,然后使用最新版本的iASL反编译DSDT。在DSDT中添加自定义设备后,重新编译为AML格式,并使用GenSec和GenFfs工具打包生成新的FFS文件。最后,替换原有的FFS文件,生成新的IFWI文件。通过这些步骤,可以实现高效的硬件定制。
这次我们实验在LattePanda DSDTACPI Table 中增加一个自定义设备。
首先,我们需要解压原版IFWI中的 ACPI 模块出来。对于这次的LattePanda来说,DSDT 是特别放在一个独立的FFS中。
修改 LattePanda BIOS 在 ACPI 中增加一个设备图1
直接解压之:
修改 LattePanda BIOS 在 ACPI 中增加一个设备图2
使用十六进制工具打开可以看到就是DSDT Table
修改 LattePanda BIOS 在 ACPI 中增加一个设备图3
因为目前的ACPI 版本和之前的比如TigerLake 有一些差别,因此,这里需要使用最新版本的iASL 进行反编译:
修改 LattePanda BIOS 在 ACPI 中增加一个设备图4
反编译结果在 dsdt.dsl 文件中。使用文本编辑工具打开后,在最后加入我们自定义的设备:
修改 LattePanda BIOS 在 ACPI 中增加一个设备图5

之后再重新编译为AML
修改 LattePanda BIOS 在 ACPI 中增加一个设备图6
对于这个文件,使用如下命令打包为一个SECTION,对应的GenSec.exe工具来自EDK2 的源代码:
  1. GenSec -s EFI_SECTION_RAW -o DSDT.raw dsdt.aml
复制代码

接下来再使用GenFFS dsdt.raw 打包生成一个FFS文件:
  1. GenFfs -t EFI_FV_FILETYPE_FREEFORM -g C118F50D-391D-45F4-B3D3-11BC931AA56D -o new.ffs -oi dsdt.raw
复制代码

接下来,我们使用新生成的这个new.ffs替换位于03:02-01IndexF9)处的FFS
修改 LattePanda BIOS 在 ACPI 中增加一个设备图7

最终我们就得到了一个替换过DSDT的新的 IFWI文件:
本文提到的文件和工具可以在这里下载:


测试的视频在

SatMay-202405255007..png (374.29 KB, 下载次数: 2048)

修改 LattePanda BIOS 在 ACPI 中增加一个设备_image_3.webp

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(0)
- 没有更多了 -