pxe大致流程

--yum install -y dhcp tftp-server syslinux tree vsftpd system-config-kickstart

# vim /etc/dhcp/dhcpd.conf

subnet 172.16.0.0 netmask 255.255.0.0 {
range 172.16.254.100 172.16.254.150;
next-server 172.16.254.200; //指定tftp服务器的IP地址
filename "pxelinux.0"; //指定需要加载的引导文件的名字,即bootloader文件的名字
}

# vim /etc/xinetd.d/tftp
----------------------------------------------------
server_args = -s /var/lib/tftpboot //tftp服务的主目录,类似于ftp服务器的/var/ftp
disable = no //是否启动该服务,默认是不启动

# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
//将引导文件拷贝到tftp的共享目录下

# mkdir /var/lib/tftpboot/pxelinux.cfg

# cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
default文件里面定义了安装哪个系统等

# cp /mnt/isolinux/{vmlinuz,initrd.img,vesamenu.c32} /var/lib/tftpboot/
拷贝内核、驱动以及菜单文件到tftp的共享目录下

# mkdir /var/ftp/iso
mount /dev/sr0 /var/ftp/iso

创建ks.cfg文件
system-config-kickstart
cat <<EOF > /etc/yum.repos.d/local.repo
[base]
name=base
baseurl=file:///mnt/cdrom
enabled=1
gpgcheck=0
EOF
mkdir /mnt/cdrom
mount /dev/sr0 /mnt/cdrom
echo "mount /dev/sr0 /mnt/cdrom" >> /etc/rc.local

修改default文件

# vim /var/lib/tftpboot/pxelinux.cfg/default
label rhel6464
menu label ^ks rhel6464
kernel vmlinuz
append ks=ftp://172.16.254.200/pub/ks.cfg initrd=initrd.img

重启各种服务

原文地址:https://www.cnblogs.com/zhangshan-log/p/13745290.html