自制ISO启动镜像,用于服务器带外获取设备信息

avatar
作者
猴君
阅读量:2

自制ISO启动镜像,用于服务器带外获取设备信息

本文介绍了一种制作系统启动盘的方法。可以在没有OS登录权限或未安装OS时检查PCIE等设备的运行状态,获取设备信息,典型应用场景如下:

  • PCIE设备的固件升级,获取固件版本,执行PCIE相关测试等
  • 获取服务器信息(PCIE槽位、服务器型号、内存配置等)

实现思路:

  • 修改官方镜像(本文采用Centos7 ISO镜像 )
  • 删除多于文件,仅保留系统引导需要的文件(方便传输、加快加载速度)
  • 编译busybox制作根文件系统
  • 准备一台物理机,开发需要的工具(编译设备驱动,SDK,测试工具等)。之后连同依赖库打包到根文件系统,制作initrd
  • 拷贝出当前物理机使用的Linux内核镜像(与编译出的设备驱动相匹配)
  • 将上面的initrd和Linux内核镜像,拷贝到UltraISO编辑器中,替换initrd.img和vmlinuz
  • 保存为新的ISO
  • 进入服务器BMC WEB页面,打开KVM控制台,加载上面的ISO镜像,选择从光盘启动
  • ISO里的测试工具运行完毕后,清屏,输出总结,要求一屏能放下。可截屏存档

环境信息

属性
准备initrd.img和vmlinuz的系统CentOS Linux release 7.4.1708 (Core)
服务器Inspur NF5280M5
约束目前仅支持UEFI启动方式

用到的工具

名称下载链接用途
Centos7安装镜像点击下载系统引导镜像
UltraISO点击下载修改ISO镜像的工具

制作ISO启动镜像

升级GCC[可选]

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7  curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo  yum clean all  yum makecache yum install -y centos-release-scl yum install -y devtoolset-7-gcc devtoolset-7-gcc-c++ devtoolset-7-gdb  yum install -y glibc-static libstdc++-static source /opt/rh/devtoolset-7/enable 

准备根文件系统

export ROOT=$PWD wget --no-check-certificate https://busybox.net/downloads/busybox-1.32.1.tar.bz2 tar -jxvf busybox-1.32.1.tar.bz2 

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!