将 RHEL 6 安装选项添加到 PXE 服务器

在本文中,我们将创建一个用于自动安装操作系统的 Kickstart 文件,并确保它同时支持基于 BIOS 和 UEFI 的客户端。

将启动镜像复制到 tftpboot 目录

我们需要将 RHEL 6 ISO 中的 initrd.img 和 vmlinuz 文件复制到 /var/lib/tftpboot/networkboot/rhel6 目录。
这些文件稍后将在 PXE 启动菜单的菜单项中引用。

[root@pxe-server ~]# mkdir /var/lib/tftpboot/networkboot/rhel6
[root@pxe-server ~]# cp /var/ftp/pub/rhel6/images/pxeboot/vmlinuz /var/lib/tftpboot/networkboot/rhel6/
[root@pxe-server ~]# cp /var/ftp/pub/rhel6/images/pxeboot/initrd.img /var/lib/tftpboot/networkboot/rhel6/

将 RHEL 6 ISO/DVD 内容复制到 FTP 服务器

登录到pxe服务器

添加 RHEL 6 ISO/DVD 并将其挂载到 /mnt/iso(我们可以根据自己的选择使用任何挂载点)。

[root@pxe-server ~]# mount -t iso9660 /dev/cdrom /mnt/iso
mount: /dev/sr0 is write-protected, mounting read-only

将 /mnt/iso 目录的内容复制到 FTP 服务器。

[root@pxe-server ~]# cp -rf /mnt/iso /var/ftp/pub/rhel6
更多: zhilu jiaocheng

创建用于自动安装 RHEL 6 的 Kickstart 文件

我们必须在 /var/ftp/pub/rhel6 目录中为 RHEL 6 编写一个 Kickstart 文件,以便 PXE 客户端可以通过 FTP 服务访问它。

[root@pxe-server ~]# vi /var/ftp/pub/rhel6/rhel6.cfg

kickstart 文件示例:

#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard 'us'
# Root password
rootpw --iscrypted $vyNMLtgd$VmtByshddZSBK..uuFhoH0
# Use network installation
url --url="ftp://192.168.1.41/pub/rhel6"
# System language
lang en_US
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use graphical install
graphical
firstboot --disable
# SELinux configuration
selinux --enforcing
# Firewall configuration
firewall --enabled --ssh
# Network information
network  --bootproto=dhcp --device=eth0
# Reboot after installation
reboot
# System timezone
timezone Asia/Karachi
# System bootloader configuration
bootloader --location=mbr
autopart
# Partition clearing information
clearpart --none --initlabel
# Packages to be installed
%packages
@core
%end

为 RHEL 6 安装创建菜单项

为基于 BIOS 的客户端编辑 PXE 启动菜单。

[root@pxe-server ~]# vi /var/lib/tftpboot/pxelinux.cfg/default

其中添加 RHEL 6 安装的菜单项。

default menu.c32
prompt 0
timeout 30
menu title JackLi's PXE Menu
label Install RHEL 7.5
kernel /networkboot/rhel7/vmlinuz
append initrd=/networkboot/rhel7/initrd.img inst.repo=ftp://192.168.1.41/pub/rhel7 ks=ftp://192.168.1.41/pub/rhel7/rhel7.cfg
label Install RHEL 6.0 (64-bit)
kernel /networkboot/rhel6/vmlinuz
append initrd=/networkboot/rhel6/initrd.img inst.repo=ftp://192.168.1.41/pub/rhel6 ks=ftp://192.168.1.41/pub/rhel6/rhel6.cfg

为基于 UEFI 的客户端编辑 PXE 启动菜单。

[root@pxe-server ~]# vi /var/lib/tftpboot/grub.cfg

其中添加 RHEL 6 安装的菜单项。

set timeout=60
menuentry 'Install RHEL 7.5' {
        linuxefi /networkboot/rhel7/vmlinuz inst.repo=ftp://192.168.1.41/pub/rhel7/ inst.ks=ftp://192.168.1.41/pub/rhel7/rhel7.cfg
        initrdefi /networkboot/rhel7/initrd.img
}
menuentry 'Install RHEL 6.0' {
        linuxefi /networkboot/rhel6/vmlinuz inst.repo=ftp://192.168.1.41/pub/rhel6/ inst.ks=ftp://192.168.1.41/pub/rhel6/rhel6.cfg
        initrdefi /networkboot/rhel6/initrd.img
}

现在,我们已成功将 RHEL 6 安装选项添加到我们的 PXE 引导服务器。
将要安装系统的PXE 客户端连接到网络并启动它就可以开始自动安装系统了。

相关教程:

在 RHEL/CentOS 7 中搭建 PXE 引导服务器
将 RHEL 6 安装选项添加到 PXE 服务器
在 CentOS 7 上为 PXE 引导服务器添加 UEFI 支持

日期:2020-09-17 00:11:53 来源:oir作者:oir