CentOS8的PXE安装-2-自定义PXE环境

2. 自定义PXE环境

  • pxe服务器
    • 硬件基本信息
      • CPU大于4核
      • 内存大于4G
      • 硬盘大于50G
    • 系统基本信息
      • 系统版本:centos7.4
      • selinux:关闭
      • Firewalld:关闭
      • yum源:阿里云的yum源
  • client服务器
    • 硬件基本信息
      • CPU大于4核
      • 内存大于4G
      • 硬盘大于50G
      • 支持网络启动

2.1. PXE环境中配置

承接之前的文章,继续进行操作

  1. 通过网络启动,到达装机界面
    装机界面
  2. 按alt+ctrl+F2,进入命令界面
    命令界面
  3. 安装dmidecode命令
rpm -i http://192.168.17.128/iso/centos8u1/BaseOS/Packages/dmidecode-3.2-3.el8.x86_64.rpm --nodeps
  1. 测试dmidecode成功


    image.png

2.2. 自定义PXE环境

也就是将dmidecode命令集成到img文件中。

2.2.1. 定位PXE环境的文件

因为最后一个加载的是install.img,猜测是这个文件。

[root@pxe01 ~]# tail /var/log/httpd/access_log
192.168.17.101 - - [02/May/2020:00:32:20 +0800] "GET /centos8-pxe/vmlinuz HTTP/1.0" 200 8106744 "-" "gPXE/1.0.0"
192.168.17.101 - - [02/May/2020:00:32:20 +0800] "GET /centos8-pxe/initrd.img HTTP/1.0" 200 62113500 "-" "gPXE/1.0.0"
192.168.17.129 - - [02/May/2020:00:32:36 +0800] "GET /iso/centos8u1/.treeinfo HTTP/1.1" 200 1520 "-" "curl/7.61.1"
192.168.17.129 - - [02/May/2020:00:32:36 +0800] "GET /iso/centos8u1/images/install.img HTTP/1.1" 200 533405696 "-" "curl/7.61.1"
192.168.17.129 - - [02/May/2020:00:32:44 +0800] "GET /iso/centos8u1/images/updates.img HTTP/1.1" 404 230 "-" "curl/7.61.1"
192.168.17.129 - - [02/May/2020:00:32:44 +0800] "GET /iso/centos8u1/images/product.img HTTP/1.1" 404 230 "-" "curl/7.61.1"

2.2.2. 解压文件

  1. 解压install.img文件
    mount -t squashfs -o loop /var/www/html/iso/centos8u1/images/install.img /mnt/install_img/
[root@pxe01 ~]# mkdir /mnt/install_img
[root@pxe01 ~]# mount -t squashfs -o loop /var/www/html/iso/centos8u1/images/install.img /mnt/install_img/
[root@pxe01 ~]# ls /mnt/install_img/
LiveOS
[root@pxe01 ~]# tree /mnt/install_img/
/mnt/install_img/
└── LiveOS
    └── rootfs.img

1 directory, 1 file
[root@pxe01 ~]# rsync -a /mnt/install_img/ /tmp/install/
[root@pxe01 ~]# ls /tmp/install/
LiveOS
  1. 解压rootfs.img
    mount -t ext4 -o loop /tmp/install/LiveOS/rootfs.img /mnt/rootfs_img/
[root@pxe01 ~]# file /tmp/install/LiveOS/rootfs.img 
/tmp/install/LiveOS/rootfs.img: Linux rev 1.0 ext4 filesystem data
[root@pxe01 ~]# mkdir /mnt/rootfs_img
[root@pxe01 ~]# mount -t ext4 -o loop /tmp/install/LiveOS/rootfs.img /mnt/rootfs_img/
[root@pxe01 ~]# ls /mnt/rootfs_img/
bin  boot  dev  etc  firmware  lib  lib64  lost+found  mnt  modules  proc  root  run  sbin  sys  tmp  usr  var

2.2.3. 添加dmidecode

  1. 将rpm包解压到目录中
    rpm2cpio dmidecode-3.2-3.el8.x86_64.rpm | cpio -idmv
[root@pxe01 ~]# cd /mnt/rootfs_img/
[root@pxe01 rootfs_img]# wget http://192.168.17.128/iso/centos8u1/BaseOS/Packages/dmidecode-3.2-3.el8.x86_64.rpm
[root@pxe01 rootfs_img]# ls usr/sbin/dmidecode
ls: cannot access usr/sbin/dmidecode: No such file or directory
[root@pxe01 rootfs_img]# rpm2cpio dmidecode-3.2-3.el8.x86_64.rpm | cpio -idm
451 blocks
[root@pxe01 rootfs_img]# ls usr/sbin/dmidecode
usr/sbin/dmidecode

2.2.4. 压缩制作install.img文件

  1. 生成新的rootfs.img
    umount 就可以,最终/tmp/install/LiveOS/rootfs.img就是我们做好的。
[root@pxe01 ~]# umount /mnt/rootfs_img/
[root@pxe01 ~]# ls /mnt/rootfs_img/
[root@pxe01 ~]# mount -t ext4 -o loop /tmp/install/LiveOS/rootfs.img /mnt/rootfs_img/
[root@pxe01 ~]# ls /mnt/rootfs_img/usr/sbin/dmidecode
/mnt/rootfs_img/usr/sbin/dmidecode
[root@pxe01 ~]# umount /mnt/rootfs_img/
  1. 生成新的install.img
    安装squashfs-tools工具
    mksquashfs . ../squashfs.img
[root@pxe01 ~]# yum install squashfs-tools
[root@pxe01 ~]# cd /tmp/install/
[root@pxe01 install]# mksquashfs . ../squashfs.img
[root@pxe01 install]# cd
[root@pxe01 ~]# umount /mnt/install_img/
[root@pxe01 ~]# mount -t squashfs -o loop /tmp/squashfs.img /mnt/
[root@pxe01 ~]# ls /mnt/
LiveOS
[root@pxe01 ~]# umount /mnt/

2.2.5. 搭建自己的装机环境

  1. 将iso里面的images文件夹拷贝到我们的pxe文件夹中
[root@pxe01 ~]# cp /var/www/html/iso/centos8u1/.treeinfo /var/www/html/centos8-pxe/.treeinfo
[root@pxe01 ~]# cp -R /var/www/html/iso/centos8u1/images /var/www/html/centos8-pxe/images
  1. 替换install.img 文件
[root@pxe01 iso]# cp /tmp/squashfs.img /var/www/html/centos8-pxe/images/install.img 
  1. 设置启动时进入的stage2路径
    文件路径: /var/lib/tftpboot/pxelinux.cfg/default
    inst.stage2=http://192.168.17.128/centos8-pxe

2.3. 测试更改的PXE环境

生效


再次进入pxe环境

2.4. 解决的问题

  1. 无盘环境(PXE环境)下驱动与工具的问题
    在PXE环境下添加驱动和其它需要的工具

你可能感兴趣的:(CentOS8的PXE安装-2-自定义PXE环境)