1 获得raid驱动程序
megasr-13.15.1218.2009-1-rhel50-u4-all.img
2获得光盘镜像initrd.img文件
initrd.img
3 准备环境
将驱动文件挂在到/mnt目录上,并将内容复制到指定的目录下
工作环境为/tmp/test目录下。
mount megasr-13.15.1218.2009-1-rhel50-u4-all.img /mnt
mkdir /tmp/test
cd /tmp/test
mkdir img
将镜像复制到该目录下(img目录为initrd空间)
cp initrd.img /tmp/test
4解压驱动文件modules.cgz
cd img
解压该文件
zcat ../initrd.img |cpio -ivd
megasr为驱动所在分区,进入该目录,解压该模块驱动文件
cd ..
mkdir megasr
cd megasr
cp /mnt/modules.cgz .
zcat modules.cgz |cpio -ivd
进入initrd的moudles目录下,解压该驱动文件
cd ../img/modules
zcat modules.cgz |cpio -ivd
5复制驱动程序
将raid的驱动文件复制到该驱动文件下
cp /tmp/test/megasr/2.6.18-164.el5/x86_64/megasr.ko /tmp/test/img/modules/2.6.18-164.el5/x86_64/
删除原有的驱动压缩文件
rm modules.cgz
6重新压缩该驱动文件
find 2.6.18-164.el5 |cpio -o -H crc |gzip -9 >modules.cgz
删除该文件驱动文件产生的目录2.6.18-164.el5/
rm 2.6.18-164.el5/ -rf
7获得添加模块的模块别名
有两种方法可以获取
(1)modinfo -F alias ../megasr/2.6.18-164.el5/x86_64/megasr.ko |sed -e ‘s/^/alias /’ -e ‘s/$/ megasr/’ >>modules.alias
(2)cat /tmp/test/megasr/modules.alias >>modules.alias
8 生成initrd.img文件
回到initrd的根目录/tmp/test/img目录下,重新压缩该文件
cd ..
find . |cpio -o -H newc |gzip -9 > ../initrd.img