我需要知道在initrd.img-xxx
执行 update-initramfs (mkinitramfs) 时引入了哪些配置和数据文件。
我有一个视频驱动程序问题,我已将其缩小到initrd.img-xxx
内核更新后的生成。我只有低分辨率的单屏 VESA,我应该有两个 1080p 的屏幕。
Debian 12 Bookworm,但它是从早期版本的 Debian 升级而来的旧安装。我仍然有一个 2 个月前的工作后备内核,所以我将其设置为手动安装并暂时停止升级。
我在具有自己的 EFI 引导扇区和 grub 的备用驱动器上创建了 Debian 的全新安装,没有任何问题。我尽我所能查询,在两个安装中都安装了相同的图形驱动程序和固件,并且我从旧安装中清除了所有这些驱动程序和固件,并使用 apt 重新安装以获取新的配置(如果有的话)。我还清除并重新安装了内核元数据包和 initram 工具。
我在新旧安装中都安装了两个相同的内核版本。initrd.img-123
我从新安装复制到旧安装。initrd.img-123
旧安装使用新安装的正确图形正确启动。
新旧安装的 initrd.img 在被列出时具有不同的文件类型,file initrd.img-XXX
并且在尝试解压缩时它们不会解压相同的文件。新系统正在制作 zstd 文件,旧系统显示为 CPIO。(较旧的后备内核似乎也有 CPIO initrd.img 但没有问题。)
我已经挂载了两个根分区并diff -r
在 /boot 和 /etc 上完成,并使用 apt-get 清除旧包和一些手动管理清理了最明显的差异。但是由于传家宝配置和设置,仍然有很多噪音,如果这不会拖得太久,我想保留其中的大部分。
您可以使用
lsinitramfs
来列出 initramfs 的内容,从而比较您拥有的工作文件和非工作文件。内容主要由
/etc/initramfs-tools/initramfs.conf
,特别是MODULES
值决定。如果您
update-initramfs
使用“详细”选项运行,例如update-initramfs -u -v
,它将显示它添加到 initramfs 的每个文件的名称,以及它执行的每个挂钩脚本。