在 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

相關內容