2.1 获得raid驱动程序
megasr-13.15.1218.2009-1-rhel50-u4-all.img
2.2获得光盘镜像initrd.img文件
initrd.img
2.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
2.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
2.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
2.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
2.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
2.8 生成initrd.img文件
回到initrd的根目录/tmp/test/img目录下,重新压缩该文件
cd ..
find . |cpio -o -H newc |gzip -9 >
../initrd.img
2.9至此 initrd.img生成
------------------------------------------------------------------------------------------------------------------------------------------------
准备介质:
megaraid_sas-v00.00.06.18-1-rhel50-u7-all.img对应用在该操作系统下的驱动程序
rhel-server-5.7-i386-dvd.iso 操作系统ISO
1.
从rhel-server-5.7-i386-dvd.iso提取initrd.img,上传到/tmp/下,并在该目录下创建img目录
2. 上传megaraid_sas-v00.00.06.18-1-rhel50-u7-all.img到/tmp下
3. 挂接img文件:mount -o loop
./megaraid_sas-v00.00.06.18-1-rhel50-u7-all.img /mnt
4. cd /tmp/img,执行解压:zcat ../initrd.img |cpio -ivd
5. cd /tmp/img/initrd/modules 解压驱动文件:zcat modules.cgz |cpio
-ivd,生成目录:2.6.18-274.el5
6. 进入/mnt,拷贝modules.cgz到/home目录,进行解压:zcat modules.cgz |cpio
-ivd
7.
拷贝/home/modules/2.6.18-274.el5/i686/megaraid_sas.ko文件到/tmp/img/modules/2.6.18-274.el5/i686下
8. 删除/tmp/img/initrd/modules下文件modules.cgz,并重新生成modules.cgz:find
2.6.18-274.el5 |cpio -o -H crc |gzip -9
>modules.cgz
9. 删除/tmp/img/initrd/modules下目录2.6.18-274.el5
10. 更新modules.alias文件:cat /mnt/modules.alias
>>/tmp/img/modules/modules.alias
11. 生成initrd.img文件:find . |cpio -o -H newc |gzip -9
> ../initrd.img
12.
下载initrd.img文件,通过UltraISO工具替换到原来megaraid_sas-v00.00.06.18-1-rhel50-u7-all.img中的initrd.img文件