龙空技术网

initramfs / ramos 制作时新增内核模块

Q小猫钓鱼 51

前言:

当前你们对“延时加载ramos”可能比较关心,各位老铁们都想要知道一些“延时加载ramos”的相关知识。那么小编也在网络上汇集了一些有关“延时加载ramos””的相关知识,希望大家能喜欢,小伙伴们一起来学习一下吧!

initramfs是什么就不讲了,在互联网从事云计算底层系统装机的同学肯定都知道了。

很多时候大家期望在制作initramfs时,能够新增特定的内核模块,最有可能增加的是新硬件的驱动模块,比如你想在 initramfs时加载virtio的驱动,你可能会这么干:

dracut -m "network base" --add-drivers "virtio virtio_net virtio_ring virtio_pci" netboot.img --force -v

很遗憾的是,最终virtio_pci内核模块不一定能加载,主要原因还是因为模块的依赖关系没有建立好,因为dracut 搭配 --add-drivers时,只会默认加载有完整依赖关系的内核模块。

所以在dracut时,除了--add-drivers加入模块,同时还必须建立依赖,建立依赖的方法很简单:

touch /etc/dracut.conf.d/add-drivers.conf#在文件中写入如下内容vim /etc/dracut.conf.d/add-drivers.confadd_drivers+="virtio "add_drivers+="virtio_net "add_drivers+="virtio_pci "add_drivers+="virtio_ring "

之后在执行如下命令:

dracut -m "network base" --add-drivers "virtio virtio_net virtio_ring virtio_pci" netboot.img --force -v

initramfs就已经包含了virtio的相关驱动模块了,并且已经建立了完整的模块依赖关系,最后打包就可以制作成ramos了。在ramos启动的时候 virtio的驱动模块就能正确加载了。

标签: #延时加载ramos