机房经常需要安装系统, 之前搭了个Windows上运行的tftpd32+httpd的网络安装环境, 可以用; 但是需要我的PC经常开着tftpd程序. 于是今天改进了一下, 将网络安装服务器搭在某个常年运行的Linux服务器上...
先介绍一下, 我们使用的网络安装服务器的IP是192.168.1.14, 系统是32位Redhat5. 准备安装的系统是64位Redhat6.4; 安装64位CentOS6.3也是可以的, 测试过了. 服务器需要用到的软件包有dnsmasq, syslinux, httpd. 可以通过yum或者系统盘安装.
mkdir /var/www/html/rhel6.4 mount -o loop,mode=0555 /home/rhel-server-6.4-x86_64-dvd.iso /var/www/html/rhel6.4弄完测试一下:
curl http://192.168.1.14/rhel6.4/GPL
dhcp-range=192.168.1.170,192.168.1.240,255.255.255.0,12h dhcp-boot=pxelinux.0 enable-tftp tftp-root=/var/tftpd tftp-secure其中dhcp-range需要根据自己的网段修改. 修改完执行service dnsmasq restart使配置生效.
mkdir /var/tftpd cd /var/tftpd cp /var/www/html/rhel6.4/images/pxeboot/initrd.img . cp /var/www/html/rhel6.4/images/pxeboot/vmlinuz . cp /usr/lib/syslinux/pxelinux.0 . mkdir pxelinux.cfg
新建一个文件pxelinux.cfg/default, 内容如下:
prompt 1 default linux timeout 100 label linux kernel vmlinuz append initrd=initrd.img ramdisk_size=9216 noapic acpi=off ide0=noprobe ide1=noprobe
chown -R nobody /var/tftpd
直接按Enter继续.
选择URL.
直接选OK就行, 由DHCP服务分配IP.
这里填之前通过httpd共享的安装盘的网址. 之后就跟光盘安装一样了.
1. 安装源. 需要确保install下面一行是
url --url http://192.168.1.14/rhel6.4
zerombr part /boot --fstype=ext4 --size=500 --ondisk=sda part swap --size=4096 --ondisk=sda part / --fstype=ext4 --size=1 --grow --ondisk=sda意思是在硬盘sda上面初始化MBR, 划出500M boot分区, 4G swap分区, 其它空间为根分区.
chown nobody /var/www/html/ks.cfg
label linux kernel vmlinuz append initrd=initrd.img ramdisk_size=9216 noapic acpi=off ide0=noprobe ide1=noprobe ks=http://192.168.1.14/ks.cfg大功告成, 可以享受全自动网络安装了! 我用虚拟机反复测试, 已经装了并且删过无数个系统了.