Script implements PXE installation and unattended installation

systemctal stop firewalld

setenforce 0

Shut down the virtual machine and give 4G memory in the settings.

Environment configuration completed

yum -y install tftp-server xinetd --- #Install software package

vim etc/xinetd.d/tftp --- #Open the configuration file

Change wait to no --- #Indicates that multiple clients can connect to the host at the same time

disable changed to no --- # means enable

systemctl stop firewalld.service
setenforce 0
yum -y install tftp-server xinetd
sed -i '/wait/c wait                = no' /etc/xinetd.d/tftp
sed -i '/disable/c disable             = no' /etc/xinetd.d/tftp
systemctl start tftp
systemctl enable tftp
systemctl start xinetd
systemctl enable xinetd
sleep 5

Start installing dhcp

yum -y install dhcp

cd /usr/share/doc/dhcp

cp dhcp.conf.exanple /etc/dhcp/dhcpd.conf

cd /etc/dhcp

Configuration:

ddns-update-style none; --- #Turn off dynamic updates of dns

next-server 20.0.0.10; ---# Specify the tftp server IP address

filename 'pxelinux.0'; --- #Specify the name of the pxe boot file to be downloaded

Specify network segment 20.0.0.0

255.255.255.0

20.0.0.100 20.0.0.110

20.0.0.10

Set the local address, otherwise thtp cannot be obtained

yum -y install dhcp
cp -rf /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf

sed -i '/max-lease-time 7200;/a filename "pxelinux.0";' /etc/dhcp/dhcpd.conf
sed -i '/max-lease-time 7200;/a next-server 20.0.0.10;' /etc/dhcp/dhcpd.conf
sed -i '/max-lease-time 7200;/a ddns-update-style none;' /etc/dhcp/dhcpd.conf
sed -i '/subnet 10.254.239.0/c subnet 20.0.0.0 netmask 255.255.255.0 {' /etc/dhcp/dhcpd.conf
sed -i '/range 10.254.239.10 10.254.239.20;/c range 20.0.0.100 20.0.0.200;' /etc/dhcp/dhcpd.conf
sed -i '/option routers rtr-239-0-1.example.org,/c option routers 20.0.0.10;' /etc/dhcp/dhcpd.conf
systemctl start dhcpd
systemctl enable dhcpd

sleep 5

Configure kernel files

mount /dev/cdrom /mnt

cd /mmnt/images/pxeboot

cp initrd.img /var/lib/tftpboot/

cp vmliuz /var/lib/tftpboot

yum -y install sysliux

cd /user/share/syslinux

cp pxeliunyx.0 /var/lib/tftpboot

cd /var/lib/tftpboot

mount /dev/sr0 /mnt
cd /mnt/images/pxeboot
cp vmlinuz /var/lib/tftpboot/
cp initrd.img /var/lib/tftpboot/

Prepare PXE bootloader

yum -y install syslinux

sleep 3

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

yum -y install syslinux

sleep 3

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

Install FTP service

yum -y install vsftpd
mkdir /var/ftp/centos7
cp -rf /mnt/* /var/ftp/centos7/
systemctl start vsftpd
systemctl enable vsftpd
sleep 5
 

yum -y install vsftpd
mkdir /var/ftp/centos7
cp -rf /mnt/* /var/ftp/centos7/
systemctl start vsftpd
systemctl enable vsftpd
sleep 5

Configure boot menu file

mkdir /var/lib/tftpboot/pxelinux.cfg

echo "default auto 
prompt 0 

label auto      
kernel vmlinuz
append initrd=initrd.img method=ftp://20.0.0.10/centos7

label linux text
kernel vmlinuz
append text initrd=initrd.img method=ftp://20.0.0.10/centos7

label linux rescue
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://20.0.0.10/centos7" > /var/lib/tftpboot/pxelinux.cfg/default

mkdir /var/lib/tftpboot/pxelinux.cfg

echo "default auto 
prompt 0 

label auto      
kernel vmlinuz
append initrd=initrd.img method=ftp://20.0.0.10/centos7

label linux text
kernel vmlinuz
append text initrd=initrd.img method=ftp://20.0.0.10/centos7

label linux rescue
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://20.0.0.10/centos7" > /var/lib/tftpboot/pxelinux.cfg/default

#Implement Kickstart unattended installation
yum install -y system-config-kickstart
cp /root/ks.cfg /var/ftp/

sed -i '6d' /var/lib/tftpboot/pxelinux.cfg/default
sed -i '/kernel vmlinuz/a append initrd=initrd.img method=ftp://20.0.0.10/centos7 ks=ftp://20.0.0.10/ks.cfg' /var/lib/tftpboot/pxelinux.cfg/default
 

#实现 Kickstart 无人值守安装
yum install -y system-config-kickstart
cp /root/ks.cfg /var/ftp/

sed -i '6d' /var/lib/tftpboot/pxelinux.cfg/default
sed -i '/kernel vmlinuz/a append initrd=initrd.img method=ftp://20.0.0.10/centos7 ks=ftp://20.0.0.10/ks.cfg' /var/lib/tftpboot/pxelinux.cfg/default

Modify ks.cfg

Guess you like

Origin blog.csdn.net/qq_51506982/article/details/133341467