免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1712 | 回复: 0
打印 上一主题 下一主题

linux pxe中如何重新封装initrd.img [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-08-25 09:07 |只看该作者 |倒序浏览

如何添加新的模块到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   
#ls
  bin  dev  etc  init  modules  proc  sbin  selinux  sys  tmp  var
2.###unzip modules.cgz###
#cd  /tftpboot/images/rhel/i386/5.3/initrd/modules

# ls
module-info  modules.alias  modules.cgz  modules.dep  pci.ids

#zcat modules.cgz | cpio -idm
#find
#ls
#cd 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.cgz

4.###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_cs
alias pci:v00001969d00001026sv*sd*bc*sc*i* atl1e
alias pci:v00001022d00007462sv*sd*bc*sc*i* amd8111e
alias 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 atl1e
filename:       /lib/modules/2.6.18-128.el5xen/kernel/drivers/net/atl1e/atl1e.ko
version:        1.0.0.7
license:        GPL
description:    Atheros 1000M Ethernet Network Driver
author:         Atheros Corporation,
srcversion:     D7C9E6C2BF57DCDD60364C3
alias:          pci:v00001969d00001026sv*sd*bc*sc*i*
depends:        
vermagic:       2.6.18-128.el5xen SMP mod_unload 686 REGPARM 4KSTACKS gcc-4.1
parm:           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_mod
libiscsi: scsi_transport_iscsi scsi_mod
arcmsr: scsi_mod
epic100: mii
atl1e.ko:       (添加的内容。)
qla4xxx: scsi_transport_iscsi scsi_mod
4)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 ../

参考文档:
http://www.chineselinuxuniversity.net/articles/5989.shtml
  
http://www.blogjava.net/alliciga/archive/2006/12/02/85055.html
http://blog.chinaunix.net/u/25100/showart_373565.html
http://www.host01.com/article/server/00070002/0621409110479623.htm





本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/31234/showart_2036184.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP