一、用命令自动添加模块
这个很简答,分为三步。1.查看模块是否已经存在当前内核中
这里以ipip.ko这个模块为例,一般都没有被编译进去#lsmod | grep ipip
如果没有的话,查看本地lib中是否有这个模块
#modprobe –l | grep ipip
/lib/modules/2.6.18-194.el5/kernel/net/ipv4/ipip.ko
或者手动查看/lib/modules/$(unmae -r)/kernel/
2.使用mkinitrd新建内核
#mkinitrd –with=ipip /boot/initrd-2.6.18-194.ido.img $(uname -r)3.修改grub.conf添加新启动项
root (hd0,0)kernel /vmlinuz-2.6.18-194.el5 ro root=LABEL=/ rhgb quiet
initrd /initrd-2.6.18-194.ido.img
二、手工添加模块,编译initrd
手动添加比较繁琐,大概分为3大步1.解压initrd文件
#cp /boot/initrd-2.6.18-194.el5.img /tmp# file /tmp/initrd-2.6.18-194.el5.img
/tmp/initrd-2.6.18-194.el5.img: gzip compressed data, from Unix, last modified: Sun Jan 16 20:30:13 2011, max compression
#gzip –dv –S .img /tmp/initrd-2.6.18-194.el5.img
# file /tmp/initrd-2.6.18-194.el5
/tmp/initrd-2.6.18-194.el5: ASCII cpio archive (SVR4 with no CRC)
#mkdir /tmp/initrd;cpio –id < /tmp/initrd-2.6.18-194.el5
经过这些步骤,我们就在/tmp/initrd中看到了全部已经解压的文件
在lib中,有所有编译的模块,我们把需要的ipip.ko拷贝进去,然后再init中添加如下内容:
echo ‘Loading ipip mod…’
insmod /lib/ipip.ko
2.压缩还原initrd
#find /tmp/initrd >/tmp/initrd.ls#cpio –oc < /tmp/initrd.ls > /boot/initrd-2.6.18-194.ido
#gzip –v9 –S .img /boot/initrd-2.6.18-194.ido