mkinitcpio 和捆绑文件的位置

mkinitcpio 和捆绑文件的位置

FILES通过或BINARIESin将文件传递给 mkinitcpio 后mkinitcpio.conf,它们到底到哪里去了?

假设我添加了FILES=(/usr/lib/firmware/edid/abc.bin)

例如,上面的行:

# mkinitcpio -p linux
...
==> Creating zstd-compressed initcpio image: '/boot/initramfs-linux.img'
==> Initcpio image generation successful
# cpio -t < /boot/initramfs-linux.img
early_cpio
kernel/
kernel/x86/
kernel/x86/microcode/
kernel/x86/microcode/AuthenticAMD.bin
# ???

如何确保生成的初始化文件确实包含该文件?我怎样才能确定传递给内核参数的路径?

答案1

不确定cpio -t应该是什么,但它没有列出内容。也许是因为它们被压缩了。正确的做法是:

lsinitcpio /boot/initramfs-linux.img

FILES这将显示按原样添加的文件。这意味着它将显示/usr/lib/firmware/edid/abc.bin在那里。

如何指向内核参数取决于模块。有些有硬编码的前缀。例如,传递usr/lib/firmware/edid/abc.bintodrm.edid_firmware将导致“文件未找到”,因为它默认采用前缀“usr/lib/firmware/”,因此您必须仅传递“edid/abc.bin”。

相关内容