openEuler 没有 mkinitramfs 和 mkinitrd 命令,更新 initramfs 失败

问题现象:

在openeuler安装外部驱动后,重启之后用storcli64命令查看驱动版本,发现是旧版本驱动。modinfo命令查看版本号是新版本。

手动rmmod 在加载后,驱动版本正确。

安装log里面有两行提示:

which: no mkinitramfs in (/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin)
which: no mkinitrd in (/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin)

问题原因:

openeuler系统中没有 mkinitramfs和mkinitrd命令。应该使用dracut命令更新initramfs里面的驱动版本。安装驱动后没有成功更新initramfs,所以重新启动后加载的是旧版本驱动。

安装外部驱动之后要检查是否成功更新initramfs。如果没更新成功,需要手动用dracut命令更新,或者修改spec文件,添加用dracut更新的逻辑之后重新编译安装。