扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
现在我们可以很清楚的看该文件的整个结构了,每个核心对于一个目录,在每个核心下又分为32和64两种不同的平台,不同的平台存放着对应的驱动文件。所以在制作驱动盘的时候,把不同核心不同平台的.ko的文件,按照这种结构做成包就可以了。一般情况下只要Redhat与Redflag的核心相差很小话(这个很小的定义是,内核前面的版本号完全匹配,仅仅只是最后一段的可以有细微的差别,就像“2.6.9-11.EL”与“2.6.9-11.19”),Redflag是可以兼容Redhat的驱动。通过如下命令可以看出:
# modinfo 2.6.9-11.19AX/i686/megaraid_sas.ko filename: 2.6.9-11.19AX/i686/megaraid_sas.ko license: GPL version: 00.00.03.03 author: sreenivas.bagalkote@lsil.com description: LSI Logic MegaRAID SAS Driver vermagic: 2.6.9-11.EL 686 REGPARM 4KSTACKS gcc-3.4 depends: scsi_mod alias: pci:v00001000d00000411sv*sd*bc*sc*i* alias: pci:v00001000d00000060sv*sd*bc*sc*i* alias: pci:v00001000d00000413sv*sd*bc*sc*i* alias: pci:v00001028d00000015sv*sd*bc*sc*i* |
从modinfo的信息里面可以看出,这个驱动是在RHEL4上编译的,但放在Redflag DC5.0下同样也能使用。所以当我们拿到RHEL4上的驱动后,只需要把解开modules.cgz后看到的核心目录名称改为Redflag对应核心再重新打包即可,例如将“2.6.9-11.EL”改为“2.6.9-11.19”、“2.6.9-11.ELsmp”改为“2.6.9-11.19smp”等。从新生成cgz包的命令是:
# find . | cpio -oH crc | gzip -9 > /tmp/modules.cgz |
3、modules.dep
该文件用于描述本模块对其他模块的依赖关系。如果该模块依赖其它模块则需要在文件中这样描述:
|
文件modules.dep 相同,只是不包含目录路径名。
例如:在上面modinfo显示的信息中,我们可以看到 megaraid_sas 该驱动模块依赖于scsi_mod这个模块,所以modules.dep文件的内容应该写成如下:
megaraid_sas: scsi_mod |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者