下载了CentOS 7 的ISO镜像 ,笔记本的光驱坏掉了,U盘也不好用,还是用网络安装比较方便。
之前都是用dhcpd来配DNS,xinetd来启tftp服务,不过太麻烦了,这次直接用dnsmasq取代了上面的两个软件。
说一下环境,apache和dnsmasq都是用系统自带的,安装服务器的IP地址是192.168.0.254
下面说一下步骤:
- 挂载ISO镜像
mkdir /var/www/html/centos7
mount -o loop CentOS-7.0-1406-x86_64-DVD.iso /var/www/html/centos7
- 通过rpm包获取pxelinux.0文件
cd /var/www/html/centos7/Packages/
rpm -ivh syslinux-4.05-8.el7.x86_64.rpm
经试验,CentOS6是可以安装CentOS7上的syslinux包的
这个时候,pxelinux.0这个文件就会安装在/usr/share/syslinux目录下,待会儿用的到
- 拷贝tftp所需的其他文件
mkdir -p /tftpboot/pxelinux.cfg/
cp -r /var/www/html/centos7/isolinux/* /tftpboot/
cp /usr/share/syslinux/pxelinux.0 /tftpboot/
cp /tftpboot/isolinux.cfg /tftpboot/pxelinux.cfg/default
- 修改安装界面配置文件
vim /tftpboot/pxelinux.cfg/default
找到如下行:
label linux
menu label ^Install CentOS 7
kernel vmlinuz
append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet
将inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 修改为
inst.stage2=http://192.168.0.254/centos7 inst.repo=http://192.168.0.254/centos7
意思是指定安装第二步所需要的文件和安装源在http服务器上取。
如果想用kickstart进行安装,还可以再加点内容inst.ks=http://192.168.0.254/ks/xiaosu.cfg
- 这部分的内容是,指定ks文件的网络路径,当然,你需要提前生成ks文件,并放到/var/www/html/ks目录下,并改名为xiaosu.cfg。 关于kickstart文件,可以通过工具生成,不过手动安装CentOS7完成之后,会自动在/root/目录下自动生成文件initial-setup-ks.cfg,你可以先通过网络手动装一个,也就是不用inst.ks参数,只用inst.stage2=http://192.168.0.254/centos7 inst.repo=
http://192.168.0.254/centos7参数,安装完成之后,根据自己的需求修改一下/root/initial-setup-ks.cfg就行了。 修改dnsmasq的配置文件修改dnsmasq只要四行就行,比之前的dhcpd简单的多。dhcp-range=192.168.0.50,192.168.0.150,12hdhcp-boot=pxelinux.0 enable-tftptftp-root=/tftpboot启动服务service dnsmasq restartservice httpd start
这个时候,把另外开机,BIOS里面选PXE启动,就能看到安装界面了,不过注意的是,不要选择Test this media & install CentOS 7 ,而是选择Install CentOS 7这个选项。
然后就可以安装了!