如何在initrd中加载模块?
我想要netconsole在initrd阶段显式加载模块(例如),类似于/etc/modules在主系统启动过程中。 首先,我检查系统中的initrd是否已包含所需的模块(请参阅附录)。 我已经调查过/initrd.img(这是一个压缩的cpio归档文件,因此为了快速浏览,我已经完成zcat /initrd.img > initrd.cpio并使用进入了它mc)。我已经modprobe在脚本中寻找了任何调用,并且发现/conf/modules(中的(/是initrd的根目录)中列出的模块是load_modules()由/scripts/functions(调用的/init)函数自动加载的。 但是在Ubuntu系统中用于更新/conf/modulesinitrd 的标准工具是什么? (顺便说一句,在研究Ubuntu的initrd的代码时,我注意到netconsole该/init脚本中有一些特殊的支持,我可以根据需要进行工作,但是无论如何,我的问题更笼统,涉及其他任何自定义模块) 附录 就像我上面说的:首先,我检查了系统中的initrd已经包含了所需的模块(即netconsole)。这是这样的: # zcat /initrd.img | cpio --extract --verbose --list | fgrep netconsole -rw-r--r-- 1 root root 25372 Aug 31 20:59 lib/modules/3.19.0-28-generic/kernel/drivers/net/netconsole.ko 109504 blocks # 我还检查了它是否已包含所需的网络驱动程序: # ls -ld /sys/class/net/eth0/device/driver lrwxrwxrwx 1 root root 0 Sep 21 15:34 /sys/class/net/eth0/device/driver -> ../../../../bus/pci/drivers/sky2 …