14.2. 在 bootc 镜像 initramfs 中添加或更改内容
rhel10/rhel-bootc 镜像使用 dracut 基础设施,在镜像构建过程中构建一个初始 RAM 磁盘(initrd)。默认 initrd 已被构建,并包含在容器镜像中的 /usr/lib/modules/<kernel_version>/initramfs.img 位置。
您可以使用置入配置文件来扩展 dracut 配置,并将其放在 /usr/lib/dracut/dracut.conf.d/ 目录中的一个文件中。这会使用您要添加的模块重新创建 'initrd。
先决条件
- 使用 bootc 的已引导的系统。
流程
作为容器构建的一部分重新创建
initrd:FROM <baseimage> COPY <custom_modules_list>.conf /usr/lib/dracut/dracut.conf.d RUN set -x; kver=$(cd /usr/lib/modules && echo *); dracut -vf /usr/lib/modules/$kver/initramfs.img $kver注意默认情况下,
dracut命令尝试拉取运行的内核版本,这会导致错误。将目标的内核版本明确传递给 dracut ,以避免错误。