Dependency
PXE Client, DHCP, HTTP, TFTP, Kickstart
Server:mgt 192.168.220.99
DHCP
# yum install dhcp
# vim /etc/dhcp/dhcpd.conf
subnet 192.168.220.0 netmask 255.255.255.0 {
range 192.168.220.200 192.168.220.250; # IP Range
option subnet-mask 255.255.255.0; # NETMASK
default-lease-time 21600; # minimum IP lease duration
max-lease-time 43200; # maximum IP lease duration
next-server 192.168.220.99; # TFTP Server IP
filename "/pxelinux.0";
}
# systemctl start dhcpd.service
# systemctl enable dhcpd.service
# netstat -lntup | grep dhcpd
udp 0 0 0.0.0.0:67 0.0.0.0:* 960/dhcpd
TFTP
# yum install tftp-server
# systemctl start tftp.socket
# systemctl enable tftp.socket
# yum install syslinux
# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
HTTP
# yum install httpd
# systemctl start httpd
# systemctl enable httpd
# mount -o loop -t iso9660 rhel-server-7.9-x86_64-dvd.iso /media
# cp -ra /media /var/www/html/RHEL-7.9
# cp -a /var/www/html/RHEL-7.9/isolinux/* /var/lib/tftpboot/
# mkdir -p /var/lib/tftpboot/pxelinux.cfg
# cp /var/www/html/RHEL-7.9/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
# vim /var/lib/tftpboot/pxelinux.cfg/default
default ks
prompt 0
label ks
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.220.99/RHEL7.9-ks.cfg net.ifnames=0 biosdevname=0 ksdevice=eth0
Kickstart
# yum install system-config-kickstart
# system-config-kickstart
# vim RHEL7.9-ks.cfg
...
%packages
@^minimal
@^X Window system
@^KDE
%end
...
Create VM & boot from PXE