在 (K)Ubuntu 18.04 (RC1) 中包含自定义 ACPI DSDT

在 (K)Ubuntu 18.04 (RC1) 中包含自定义 ACPI DSDT

我有一台新的 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

最终找到了不同的方法来完成同一件事。

  1. 提取 CPIO 文件:cpio --extract < ./acpi_override
  2. 将结果复制到/bootcp kernel/firmware/acpi/dsdt.aml /boot/fixed_dsdt.aml
  3. 创建或更新/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]”。

相关内容