背景:我正在为我的内核模块开发一个DKMS包. DKMS manpage包含以下句子:
REMAKE_INITRD =
This directive specifies whether your initrd should be remade after the module is installed onto the kernel.
问:什么时候需要重新制作initrd?在将内核安装到内核后,如何确定是否需要重新创建initrd?
解决方法:
通常,如果需要添加或更新安装根文件系统所需的模块,则只需要重新生成initrd.挂载根文件系统后,内核可以使用常规机制动态加载其他模块.
通常包含在initrd中的东西是磁盘设备驱动程序(scsi,sata,光纤通道等),文件系统驱动程序(如ext4,xfs,btrfs等),以及更高级别的块设备驱动程序,如LUKS(用于加密设备),LVM,等等.
如果您的模块不属于此类驱动程序,那么它不需要在initrd上,您不需要重建initrd.