Linux操作系统下DriverDisk的制作方法

文章作者 100test 发表时间 2007:09:06 11:39:18
来源 100Test.Com百考试题网


如果常常在IBM、HP等这些服务器上安装linux,多多少少都会遇到需要手工加载SCSI/RAID卡驱动情况,而我们遇到这种情况时,都会向硬件厂商或者linux厂商需求驱动,因为几乎所有的硬件厂商只提供redhat、suse上的驱动,假如安装的红旗Linux遇到这种情况,那么就只能向红旗寻求驱动了。我们拿到手的驱动文件通常都常img格式的文件,究竟这个img文件里面装的是什么东西呢?而这个img又是怎么制作的呢?今天终于抽时间研究了一把。

  我拿了Redflag DC5.0下的一个megaraid_sas-v00.00.03.03-1-DC5.0-all.img文件,实际上这里的img文件就是一个ext2文件系统的映象文件,用mount命令挂载后就能直接查看,如下:

# mount -oloop megaraid_sas-v00.00.03.03-1-DC5.0-all.img /mnt

# cd /mnt

# ls

disk-info modinfo modules.cgz modules.dep modules.pcimap pci.ids pcitable rhdd

  实际上在一个driver disk里面,只需要有modinfo、modules.cgz、modules.dep、pcitable、rhdd这五个文件就可以了,而在这个driver disk里除了这五个文件外,还有disk-info、pci.ids、modules.pcimap这三个文件,其中disk-info记录的是驱动模块名称以及驱动版本的信息,pci.ids、modules.pcimap与pcitable的内容是一样的,这两个文件放在这里面我不清楚他们具体存在的意义。所以下面我们只需要好好研究前面这五个文件就足以。关于在这几个文件的详细介绍如下:

  1、modinfo

  该文件用于驱动程序的描述,文件格式是:

Version 0



     

           ""

  除了注释行以外(以"#" 号开头),首行必须是"Version 0".

 是硬件内核驱动的名称(不包含路径名也不包括扩展名)。

 是硬件种类,目前仅支持网络设备和SCSI 设备,网络设备用eth 表示,

SCSI/RAID类设备用scsi表示,前面必须插入tab 符或空格。

是该驱动模块的简单说明,前面也必须插入tab 符或空格,

      同时必须用双引导将说明内容括起来。

  例如该驱动的modinfo内容如下:

Version 0

megaraid_sas

scsi

"LSI Logic megaraid_sas Driver ver v00.00.03.03"

  2、modules.cgz

  文件modules.cgz 是DriverDisk 中包含的所有驱动模块的cpio 压缩档。使用如下命令可以解开该文件:

# zcat modules.cgz |cpio -idm

# find

.

./2.6.9-11.19AXsmp

./2.6.9-11.19AXsmp/x86_64

./2.6.9-11.19AXsmp/x86_64/megaraid_sas.ko

./2.6.9-11.19AXsmp/i686

./2.6.9-11.19AXsmp/i686/megaraid_sas.ko

./2.6.9-11.19AXhugemem

./2.6.9-11.19AXhugemem/i686

./2.6.9-11.19AXhugemem/i686/megaraid_sas.ko

./2.6.9-11.19AX

./2.6.9-11.19AX/x86_64

./2.6.9-11.19AX/x86_64/megaraid_sas.ko

./2.6.9-11.19AX/i686

./2.6.9-11.19AX/i686/megaraid_sas.ko



相关文章


Linux操作系统下DriverDisk的制作方法
双系统重装Windows后引导Linux的小技巧
LinuxSambaServer的配置方法详细解析
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛