我有一台新的 Thinkpad X1 Yoga 2018,需要对 ACPI DSDT 进行修补才能使挂起到 RAM 功能。我按照以下方法构建了一个修补的 DSDT这些说明,并创建了一个名为 的 CPIO 档案acpi_override
。
如何自定义 /etc/grub.d 或 /etc/initramfs-tools(或其他地方)中的配置,以便将其与 Kubuntu 的 initrd 一起加载?我正在寻找initrd [...]
发出的一行/etc/grub.d/10_linux
,但似乎此版本已重新安排了内容。
答案1
最终找到了不同的方法来完成同一件事。
- 提取 CPIO 文件:
cpio --extract < ./acpi_override
- 将结果复制到
/boot
:cp kernel/firmware/acpi/dsdt.aml /boot/fixed_dsdt.aml
- 创建或更新
/boot/grub/custom.cfg
以包含acpi /fixed_dsdt.aml
由于/boot/grub/custom.cfg
不由 apt 管理,因此这种情况应该持续下去。
笔记:如果你不确定自己是否拥有正确的 DSDT,你可能会陷入重启循环。你可以反而手动编辑grub.cfg
并添加acpi /fixed_dsdt.aml
行里面启动项。这样,如果 grub 尝试处理它并失败,它只会在选择启动项后(而不是在显示菜单之前)执行此操作。一旦您确信一切正常,您就可以将您的编辑移动到custom.cfg
。
答案2
这种方法对我在第六代 X1 carbon 上使用 (K)Ubuntu 18.04 很有效。在 grub.cfg 中使用“initrd /boot/acpi_override /boot/initrd.img-4.14.0-20-generic”不会加载配置,但从此行中删除“/boot/acpi_override”并在 grub.cfg 中的单独行上加载 .aml 文件现在在 dmesg 中显示 S3 为受支持的电源模式,并在 /sys/power/mem_sleep 中显示“s2idle [deep]”。