參考了各路大神的文章,結合自己實踐過程,雖中間經歷了些困難挫折,最終還是成功完成配置,實現了自動化安裝Linux。
(重點參考灰度的 http://www.linuxidc.com/Linux/2012-11/73852.htm )
安裝環境,虛擬機VirtualBox虛擬2台機器,一台做kickstart服務器,一台做客戶端
服務器系統為CentOS 6.3 X86_64, 安裝光盤為CentOS 6.3 X86_64 DVD
網卡全部配置為“內部網絡”
首先,需要用到的服務有,dhcpd, httpd, xinetd, tftp, 用yum 依次安裝。
vim /etc/xinetd.d/tftp 修改tftp的守護進程配置文件,紅色部分為修改的地方,
vim /etc/dhcp/dhcpd.conf 修改dhcp配置文件
簡單介紹:
Option routers指定網關;
Option domain-name-server指定DNS服務器;
Option subnet-mask指定掩碼;
range dynamic-bootp指定分配給客戶端的IP地址段;
Filename 指定啟動鏡像;
Next-server 指定TFTP服務器。
服務器的網卡ifcfg-eth0配置為靜態IP:192.168.0.1, 子網掩碼255.255.255.0, 網關192.168.0.1
設置開機啟動服務,
chkconfig xinetd on
chkconfig dhcpd on
chkconfig httpd on
依次啟動服務
service xinetd start
service dhcpd start
service httpd start
注意要關掉防火牆,selinux 設為permissive, 不然會導致PXE加載失敗
掛載linux安裝盤, mkdir -p /mnt/iso, mount -o loop /dev/dvd /mnt/iso,
cp /mnt/iso/* /var/www/html, 將光盤內容全部復制到html根目錄(采用httpd方式安裝),
創建目錄/tftpboot, 將Linux安裝程序的內核、根文件系統文件及其他文件復制到tftp的根目錄中,
羅列下/tftpboot目錄下大概會用到的文件,
initrd.img (文件,從光盤/mnt/iso/isolinux/目錄拷貝)
pxelinux.0(文件,從/usr/share/syslinux目錄拷貝,若無,則須安裝syslinux)
pxelinux.cfg(目錄,自建,裡面存放名為default的文件,該文件從/mnt/iso/isolinux/isolinux.cfg復制並改名為default)
vmlinuz (文件,從/mnt/iso/isolinux/目錄拷貝)
vesamenu.c32(文件,從/mnt/iso/isolinux/目錄拷貝)
注意權限,chmod +x /tftpboot/pxelinux.cfg/default