美文网首页
CentOS8的PXE安装-2-自定义PXE环境

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

作者: 小小运维 | 来源:发表于2020-05-01 19:12 被阅读0次

    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环境

          本文链接:https://www.haomeiwen.com/subject/ayvqghtx.html