热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

LinuxPXE中如何重新封装initrd.img

nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd

如何添加新的模块到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

4vi 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 ../


推荐阅读
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
  • Vagrant虚拟化工具的安装和使用教程
    本文介绍了Vagrant虚拟化工具的安装和使用教程。首先介绍了安装virtualBox和Vagrant的步骤。然后详细说明了Vagrant的安装和使用方法,包括如何检查安装是否成功。最后介绍了下载虚拟机镜像的步骤,以及Vagrant镜像网站的相关信息。 ... [详细]
  • tcpdump 4.5.1 crash 深入分析
    tcpdump 4.5.1 crash 深入分析 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • CentOS 6.5安装VMware Tools及共享文件夹显示问题解决方法
    本文介绍了在CentOS 6.5上安装VMware Tools及解决共享文件夹显示问题的方法。包括清空CD/DVD使用的ISO镜像文件、创建挂载目录、改变光驱设备的读写权限等步骤。最后给出了拷贝解压VMware Tools的操作。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 海马s5近光灯能否直接更换为H7?
    本文主要介绍了海马s5车型的近光灯是否可以直接更换为H7灯泡,并提供了完整的教程下载地址。此外,还详细讲解了DSP功能函数中的数据拷贝、数据填充和浮点数转换为定点数的相关内容。 ... [详细]
  • CentOS7.8下编译muduo库找不到Boost库报错的解决方法
    本文介绍了在CentOS7.8下编译muduo库时出现找不到Boost库报错的问题,并提供了解决方法。文章详细介绍了从Github上下载muduo和muduo-tutorial源代码的步骤,并指导如何编译muduo库。最后,作者提供了陈硕老师的Github链接和muduo库的简介。 ... [详细]
  • Python项目实战10.2:MySQL读写分离性能优化
    本文介绍了在Python项目实战中进行MySQL读写分离的性能优化,包括主从同步的配置和Django实现,以及在两台centos 7系统上安装和配置MySQL的步骤。同时还介绍了创建从数据库的用户和权限的方法。摘要长度为176字。 ... [详细]
  • 本文概述了JNI的原理以及常用方法。JNI提供了一种Java字节码调用C/C++的解决方案,但引用类型不能直接在Native层使用,需要进行类型转化。多维数组(包括二维数组)都是引用类型,需要使用jobjectArray类型来存取其值。此外,由于Java支持函数重载,根据函数名无法找到对应的JNI函数,因此介绍了JNI函数签名信息的解决方案。 ... [详细]
  • 本文介绍在使用vmware中配置centos6.5时遇到的网络问题,包括host-only和natip的配置,以及无法上网的原因。同时提供了解决方法,包括去掉host-only配置文件中的gateway。 ... [详细]
  • 如何使用PLEX播放组播、抓取信号源以及设置路由器
    本文介绍了如何使用PLEX播放组播、抓取信号源以及设置路由器。通过使用xTeve软件和M3U源,用户可以在PLEX上实现直播功能,并且可以自动匹配EPG信息和定时录制节目。同时,本文还提供了从华为itv盒子提取组播地址的方法以及如何在ASUS固件路由器上设置IPTV。在使用PLEX之前,建议先使用VLC测试是否可以正常播放UDPXY转发的iptv流。最后,本文还介绍了docker版xTeve的设置方法。 ... [详细]
author-avatar
孔阳kyy
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有