添加raid驱动到initrd.img

Posted on 2016-01-13 15:29  NooBkey  阅读(757)  评论(0编辑  收藏  举报

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

9至此 initrd.img生成

Copyright © 2024 NooBkey
Powered by .NET 9.0 on Kubernetes