15392浏览
查看: 15392|回复: 0

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

[复制链接]
这次我们实验在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
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail