PXE自动化安装CentOS 7
安装tftp-service并启动,并设置开机启动
yum install tftp-server
systemctl start tftp
systemctl enable tftp
存储tftp文件的仓库路径
/var/lib/tftpboot/
在/etc/dhcp/dhcpd.conf文件中,指向tftp服务器,并指明引导文件名称为pxelinux.0
subnet 192.168.160.0 netmask 255.255.255.0 {
range 192.168.160.50 192.168.160.200;
option routers 192.168.160.2;
next-server 192.168.160.129;
filename "pxelinux.0";
}
安装syslinux,可提供pxelinux.0的包
yum install syslinux
把pxelinux拷贝到tftp仓库的路径下,再拷贝menu.c32作为菜单项,拷贝光盘里的isolinux.cfg和vmlinuz initrd.img
cp /usr/share/syslinux/pxelinux.0 .
cp /usr/share/syslinux/menu.c32 .
cp isolinux.cfg /var/lib/tftpboot/
cp vmlinuz initrd.img /var/lib/tftpboot/
修改isolinux.cfg的内容
vim isolinux.cfg
default menu.c32
timeout 600
menu title CentOS Auto Install
label mini
menu label Install CentOS ^Mini 7
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.160.129/ksdir/ks7.cfg
label desktop
menu label Install CentOS ^Desktop 7
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.160.129/ksdir/ks7_desktop.cfg
label local
menu default
menu label Boot from ^local drive
localboot 0xffff
在tftp仓库的路径下新建pxelinux.cfg文件夹,并把isolinux.cfg复制进去,并改名叫default
mkdir pxelinux.cfg
mv isolinux.cfg pxelinux.cfg/default
最终仓库路径应该是这样的
tree
.
├── initrd.img
├── menu.c32
├── pxelinux.cfg
│ └── default
├── pxelinux.0
└── vmlinuz