背景:我正在为我的内核模块开发一个DKMS包。 DKMS手册页包含以下句子:
REMAKE_INITRD =该指令指定在将模块安装到内核之后是否应该重新映射 initrd。
问题:什么时候需要重新启动initrd? 如何在将模块安装到内核后重新启动initrd?
一般来说,如果您需要添加或更新挂载根文件系统所需的模块,则只需要重新启动initrd。 一旦挂载了根文件系统,内核就可以使用正常机制动态加载其他模块。
通常包括在initrd中的东西是磁盘设备驱动程序(scsi,sata,光纤通道等),文件系统驱动程序(如ext4,xfs,btrfs等)和更高级别的块设备驱动程序,如LUKS(用于加密设备),LVM,等等。
如果你的模块不属于这类驱动程序,那么它不需要在initrd上,也不需要重新编译initrd。