在 CentOS 中对 initrd 进行更新持久更改

在 CentOS 中对 initrd 进行更新持久更改

我通过 NFS 启动 CentOS 映像,这需要自定义initramfsfromdracut以及一些额外的模块。我希望内核能够正常更新,使用yum update.initramfs每次更新内核时,这都会自动生成一个新的,其中不包括我的任何额外模块。

  • 如何/何时yum update生成新的initramfs
  • 可以配置系统以便yum update每次都包含我的自定义模块吗?

目标是避免每次更新时都需要yum update+ dracut -m "etc" name.img kernel.ver,因为我们需要维护许多不同的系统映像。

答案1

最近我对dracut感到很困惑...

yum update 如何/何时生成新的 initramfs?

AFAIK,kernel.rpm 中有 posttrans 部分。例如

%{_sbindir}/new-kernel-pkg --package kernel%{?-v:-%{-v*}} --mkinitrd --dracut --depmod --update %{KVRA}%{?-v:.%{-v*}}

换句话说,在内核包中完成所有其他工作之后,就会生成一个新的 initrd。

是否可以配置系统以便 yum update 每次都包含我的自定义模块?

是的,请参阅 dracut 文档https://linux.die.net/man/5/dracut.conf

相关内容