PXE与Kickstart无人值守安装
- Using NAT connection mode
- ifconfig eth0 172.16.100.10
- setenforce 0
- service iptables stop
- yum install -y syslinux tftp-server tftp dhcp
- cp /usr/share/syslinux/{pxelinux.0,chain.c32,menu.c32,mboot.c32,memdisk} /var/lib/tftpboot/
- cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
- cd /etc/dhcp/dhcpd.conf
- vim dhcpd.conf
# 在第一次出现subnet的那一行之前添加
subnet 172,16.0.0. netmask 255.255.0.0 {
range 172.16.1.1 172.16.100.253;
filename "pxelinux.0"; # 指明要从tftp服务器上获取哪个文件
next-server 172.16.100.10; # 指明tftp服务器的ip地址
}
- cd /var/lib/tftpboot/pxelinux.cfg, 其中pxelinux.cfg为目录
- vim default
- i
default menu.c32
promt 3
timeout 10
menu title CentOS6Installation
label Linux
menu label CentOS6
kernel vmlinuz
append initrd=initrd.img repo=http://192.168.1.1/centos6repo/ ks=http://192.168.1.1/ks.cfg
- :wq
- vim /etc/xinetd/tftp --> disable = no
- mkdir /var/lib/tftpboot/pxelinux.cfg
- mkdir /media/cdrom
- mount /dev/sr0 /media/cdrom
- cp /media/cdrom/images/{vmliuz,initrd.img} /var/lib/tftpboot/
- service xinetd start
- umount /dev/sr0
- yum install httpd
- service httpd start
- cd /var/www/html/
- mkdir centos6repo
- mount /dev/sr0 centos6repo
- create a new Virtual Machine
- select start from NIC
- boot your machine
- hit return button on your keyboard
- you need do nothing, just look or do something else
注意
1. 在上文提到了要拷贝pxelinux.0,chain.c32,menu.c32,mboot.c32,memdisk如此多的文件, 其实可以简化, 真正需要拷贝的是pxelinux.0; 而安装光盘中需要拷贝images/pxelinux目录下的vmlinuz, initrd.img, 以及光盘中的ioslinux.cfg文件, ioslinux文件要在/var/lib/tftp/pxelinux/default, chmod 644 /var/lib/tftp/pxelinux.cfg/default
2. 如果按照第1点来, 则修改default配置文件与上文修改default文件类似, 只是这里的default的值为linux, 接着到linux标签所在处, 在append追加`inst.repo=repo_position inst.ks=ks_position`, 这与上文有不同