admin管理员组

文章数量:1585440

一.目的
因为如果在pxe 引导文件系统initrd.img中如果没有我们的网卡驱动,其实也不
网卡驱动注入pxe 引导文件系统,实现使用网卡做pxe 引导,能够进入os 安装界面。

二.环境需求
一台装有需要引导os的物理机或者虚拟机。
需要引导os 的镜像 。
需要引导os 对应的网卡驱动包。
注意: 执行操作的os系统,需要重新打包的initrd.img,驱动包,必须保持对应的系统版本一致,以下示例都是基于centos8.5。

三、具体思想
1,解压pxe 文件系统initrd.img。
2,将驱动解压到pxe 文件系统中。
3,重建depmod 相关文件。
4,重新打包pxe 文件系统。

四、操作步骤
1,在对应系统下新建一个文件夹,把需要initrd.img 和驱动rpm/deb 包放入同一个文件夹。
initrd.img 在对应的os 镜像中,images\pxeboot目录下。

之后只需要在这个文件夹下操作。

2,在同级目录下建立一个tmp 文件夹,然后解压img。
[root@localhost pxeboot_centos8.5]# mkdir tmp
[root@localhost pxeboot_centos8.5]# cd tmp/
[root@localhost tmp]# xz -dc …/initrd.img | cpio -id
[root@localhost tmp]# ls

这样,initrd.img 的文件系统就解压在tmp目录下了。

3, 解压3snic 的驱动到文件系统对应的目录下。
在tmp目录下执行指令:
rpm2cpio …/sssnic_centos8.5-V1.0.4.0-release.x86_64.rpm | cpio -div

可以看到驱动文件已经放到对应的目录下。

4,重建depmod 文件。
将tmp 目录设为根目录: chroot ./
重建depmod 文件: depmod –a
恢复系统根目录: exit

这一步以后,可以看在depmod 文件中看到sssnic 的驱动信息。

5,重新打包img
在tmp 目录下执行:
find . -print | cpio -o -H newc | xz --format=lzma > …/initrd-new.img
可以看到在上级目录下生成一个initrd-new.img,这就是目标的img 文件。

本文标签: 文件系统网卡驱动imgPXEinitrd