如何添加新的模块到initrd.img中:(由于linux版本的升级,原网上已经没有一篇文档适合现在的2.6.18-128.el5的核心了,原张超文档提供的initrd-util已经无法完成initrd.img文件的解压了。有关新版本initrd.img分解见下面测试.)一.测试环境:主板:P5QL-VM-EPU软件:CentOS5.3 核心版本:2.6.18.128.e15xen主板驱动:LAN(linux-v1.0.0.7)可以看readme文档进行安装。(安装后生成atl1e.ko)二、解压initrd.img文件,重新封装网卡驱动。1.#### unzip initrd.img######## cp $cdrom(rhel5.3) /tftpboot/images/rhel/i386/5.3/### #cd /tftpboot/images/rhel/i386/5.3#cp initrd.img initrd.img.old#mv initrd.img initrd.img.gz#gunzip initrd.img.gz #mkdir initrd#cd ./initrd#cp ../initrd.img .#cpio -iv < initrd.img #lsbin dev etc init modules proc sbin selinux sys tmp var2.###unzip modules.cgz####cd /tftpboot/images/rhel/i386/5.3/initrd/modules# lsmodule-info modules.alias modules.cgz modules.dep pci.ids#zcat modules.cgz | cpio -idm#find#ls#cd <?XML:NAMESPACE PREFIX = ST1 />2.6.18-128.el5/i686#cp /lib/modules/2.6.18-128el5xen(uname-r)/kernel/drivers/net/atl1e/atl1e.ko .(拷贝atl1e.ko 到当前目录。)3.###zip modules.cgz####find 2.6.18-128.el5/ | cpio -o -H crc > newmodules#gzip -n -9 newmodules #rm -rf modules.cgz #mv newmodules.gz modules.cgz4.###edit the module-info modules.alias modules.dep pci.ids….####1)#vi module-info添加:atl1e eth “ATL1E NIC driver”保存退出。2)#vi modules.alias ……alias pcmcia:m015Fc000Af*fn*pfn*pa*pb*pc*pd* airo_csalias pci:v00001969d00001026sv*sd*bc*sc*i* atl1ealias pci:v00001022d00007462sv*sd*bc*sc*i* amd8111ealias pci:v000017D3d00001681sv*sd*bc*sc*i* arcmsr……保存退出。注:例如:alias pci:v00008086d00007190sv000015ADsd00001976bc06sc00i00
表示该设备的设备编号是 0x7190,制造商编号是 0x8086,模块子系统提供商编号 0x15ad 等等,v即是代表 vendor,sv代表 subsystem-vendor,sd代表 subsystem-device我们可以直接从系统里得到(因为已经手动安装过了)。通过 modinfo .[root@localhost modules]# modinfo atl1efilename: /lib/modules/2.6.18-128.el5xen/kernel/drivers/net/atl1e/atl1e.koversion: 1.0.0.7license: GPLdescription: Atheros 1000M Ethernet Network Driverauthor: Atheros Corporation, <xiong.huang@atheros.com>srcversion: D7C9E6C2BF57DCDD60364C3alias: pci:v00001969d00001026sv*sd*bc*sc*i*depends: vermagic: 2.6.18-128.el5xen SMP mod_unload 686 REGPARM 4KSTACKS gcc-4.1parm: TxRingSz:Transmit Ring Sizen (array of int)parm: RxfMemSize:memory size of rx buffer(KB) (array of int)parm: MediaType:MediaType Select (array of int)parm: IntModTimer:Interrupt Moderator Timer (array of int) 其中:depends 是和模块相依赖的包。3)#vi modules.dep (可以从modinfo atl1e中看出没有依赖的包。) iscsi_tcp: libiscsi scsi_transport_iscsi scsi_modlibiscsi: scsi_transport_iscsi scsi_modarcmsr: scsi_modepic100: miiatl1e.ko: (添加的内容。)qla4xxx: scsi_transport_iscsi scsi_mod4)vi pci.ids添加:1969 atl1e Ethernet Franck.chen 1026 Atl1e -100 Fast Ethernet Adapter保存退出。其中: 1969 制造商编号 1026 设备编号。4.###zip initrd.img#####/tftpboot/images/rhel/i386/5.3/initrd#find ./ -print |cpio -ov > initrd.img#gzip -9 initrd.img #mv initrd.img.gz initrd.img#cp initrd.img ../Windows与Linux的RPC通信详解在SUSE Linux Enterprise Server 10 (x86_64)上安装xm相关资讯 Linux教程
- Linux教程:如何在命令行中查看目 (07/28/2014 12:22:23)
- Linux 修改root密码 (11/03/2012 07:53:38)
- su - root 与su root的区别 (06/06/2012 00:39:40)
| - Linux进程间通信:消息队列 (01/28/2013 09:43:00)
- U盘安装Linux开机无法启动解决方法 (10/07/2012 08:55:52)
- Windows 7/Linux 同步时间 (05/15/2012 06:17:55)
|
本文评论 查看全部评论 (0)