工业标准服务器
1754137 成员
4305 在线
108811 解答
新建帖子

回复: 阵列卡驱动封装进Linux系统中

 
Jack船长
顾问

阵列卡驱动封装进Linux系统中

由于我们一些新的机器如DL360e Gen8等服务器,他使用的是B系列的阵列卡,不是以前我们一直接触到的P系列的阵列卡,对于B系列的阵列卡而言,他的阵列卡驱动不再是以前的cciss的驱动,而是hpvsa模块的驱动,此类驱动大多数的操作系统里面是没有的,换言之在装系统之前我们必须要把驱动先通过命令装上,等识别到硬盘才能安装系统,对于下次内核如果进行升级变需要再一次安装阵列卡驱动。

由于此问题我们直接想把驱动文件写入操作系统中,安装操作系统变得简单而无需单独加载驱动。

操作系统版本:CentOS 6.4

B320阵列卡驱动版本:hpvsa 1.2.6-13

 

安装一台centos6.4 操作系统

确认内核为2.6.32-358.el6.x86_64

Mount /dev/cdrom /mnt  ##挂载光盘到mnt

Mkdir /tmp/centos6.4

Mkdir /tmp/driver

Mkdir /tmp/initrd

##准备好hpvsa的驱动kmod-hpvsa-1.2.6-13.rhel6u4.x86_64.rpm

cp kmod-hpvsa-1.2.6-13.rhel6u4.x86_64.rpm /tmp

cd /tmp/driver

rpm2cpio /tmp/ kmod-hpvsa-1.2.6-13.rhel6u4.x86_64.rpm | cpio -ivd

 hpvsa.png

##复制光盘内容到/tmp/centos6.4

Cd /tmp

rsync -a /mnt/* /tmp/centos6.4/

cp /tmp/centos6.4/isolinux/initrd.img /tmp

mv initrd.img initrd.img.lzma

unlzma initrd.img.lzma

cd initrd

cpio -ivd < /tmp/initrd.img

 

cp /tmp/driver/lib/modules/2.6.32-358.el6.x86_64/extra/hpvsa/hpvsa.ko /tmp/

gzip /tmp/hpvsa.ko

cp /tmp/hpvsa.ko.gz  /tmp/initrd /modules/2.6.32-358.el6.x86_64/kernel/drivers/scsi/

 

 

cat << EOF >> /tmp/initrd/modules/module-info

hpvsa

        scsi

        "Driver for HP Smart Array Controller version 1.2.6-13"

EOF

 

Cd /tmp

modinfo -F alias hpvsa.ko.gz |sed -e 's/^/alias /' -e 's/$/ hpvsa/' >> /tmp/initrd/modules/2.6.32-358.el6.x86_64/modules.alias

 

chroot /tmp/initrd depmod -a

 

cd /tmp/initrd

find . -print|cpio -o -H newc | xz --format=lzma  > /tmp/initrd.img.out

mv /tmp/initrd.img.out /tmp/initrd.img

rm /tmp/centos6.4/isolinux/initrd.img

mv /tmp/initrd.img /tmp/centos6.4/isolinux/

 

完成initrd包的封装。

 

如果其他驱动,封装方法相同,将文件名和模块名替换

 

1 条回复1
Julian_Lee
签约顾问

回复: 阵列卡驱动封装进Linux系统中

8错8错,很有用的share

+++++++++++++++++++++++++++++++++++++++++++++++++

如果我的帖子对您有帮助,欢迎您点击贴子下方右边的紫色图标给我奖励;如果我的帖子解答了您的问题,欢迎您将我的帖子标记为已解答

++++++++++++++++++++++++++++++++++++++++++++++++