cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
4.2 复制boot.msg、splash.jpg、vesamenu.c32文件
以上我们把pxelinux.0文件已经复制到TFTP的根目录下,下面我们开始复制有关系统内核和系统安装时的相关文件。这些文件我们可以通过centos镜像网站进行下载,比如国内的阿里云网站,截图演示如下:
也可以通过把本地的镜像文件进行挂载使用,本实验我们是先把本地的镜像文件进行挂载,然后通过NFS的方式把该镜像中的文件复制出来。如下:
mount -t nfs 192.168.1.11:/iso /iso
打开/iso/isolinux目录,isolinux目录中主要是存放光盘启动时的安装界面信息,在这里面有几个文件是我们需要的。
boot.msg引导模块的菜单选项
splash.jpg 启动时的背景文件
vesamenu.c32用于设置菜单模块
ll -h /iso/isolinux/
把上述文件复制到TFTP服务器的根目录,如下:
cp -rv /iso/isolinux/{boot.msg,splash.jpg,vesamenu.c32} /var/lib/tftpboot/
ll -h /var/lib/tftpboot/
4.3 复制vmlinuz、initrd.img文件
下面复制centos的安装引导文件vmlinuz、initrd.img。
vmlinuz 是可引导的、压缩的内核文件
initrd.img在系统引导过程中挂载的一个临时根文件系统,用来支持两阶段的引导过程的文件系统
以上两个文件存放在/iso/images/pxeboot目录下:如下:
ll –h /iso/images/pxeboot
cp -rv /iso/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/
ll -h /var/lib/tftpboot/
以上文件复制完毕后,我们来创建pxelinux.cfg目录及default文件。
4.4 创建pxelinux.cfg目录及default文件
pxelinux.cfg目录主要是用来存放default文件。default文件主要是用来系统正常引导后的相关配置。如下:
mkdir /var/lib/tftpboot/pxelinux.cfg
因为default文件的内容格式比较复杂,所以在此我们不建议手工创建。centos镜像文件中已经为我们提供了一个模版,该模版是/iso/isolinux/isolinux.cfg,如下:
ll -h /iso/isolinux/
复制isolinux.cfg并重命名为default,,如下:
cp /iso/isolinux/isolinux.cfg /var/lib/tftpboot/pexlinux.cfg/default
4.5 修改default文件内容
在修改default文件内容之前,先查看其文件的内容,如下:
more /var/lib/tftpboot/pexlinux.cfg/default
通过上图我们可以看到,default文件的内容非常多。其实有很多是我们不需要的。修改该配置文件,只保留如下内容:
vi /var/lib/tftpboot/pxelinux.cfg/default
default vesamenu.c32
#prompt 1
timeout 60
display boot.msg
menu background splash.jpg
menu title ilanni install CentOS 6.5!
label linux
menu label ^Install or upgrade an existing system
menu default
kernel vmlinuz
append initrd=initrd.img ks=ftp://192.168.1.214/pub/ks.cfg
其中我们只需要注意ks=ftp://192.168.1.214/pub/ks.cfg这行,这行是需要kickstart生成的配置文件,而是使用的ftp方式访问该文件。在这我们先把该文件的名称填写进来。
下面我们开始安装及配置kickstart自动应答文件。
五、配置kickstart自动应答安装文件
5.1 安装kickstart软件包
首先要安装kickstart软件包,使用如下命令:
yum -y install system-config-kickstart
kickstart安装完毕后,你会在/root/目录下生成anaconda-ks.cfg文件。该文件就是kickstart自动应答文件的一个模版,如下:
find / -name an*.cfg
查看该配置文件,如下:
more /root/anaconda-ks.cfg
如果你对这个配置文件比较熟悉的话,你可以直接把该文件复制一份到/var/ftp/pub目录下,并重命名为ks.cfg。修改保存后,就可以去启动客户端。
5.2 生成kickstart自动应答文件
但是对于不熟悉该自动应答配置文件的童鞋来说,还是通过图形界面方式来生成kickstart自动应答文件吧。
注意图形界面生成kickstart自动应答文件,一定要再kickstart服务器上安装图形界面。
在终端下输入system-config-kickstart,系统就会弹出kickstart的配置界面,如下:
注意此命令可以在普通用户下使用,也可以通过centos图形界面的菜单打开,如下:
下面我们开始配置kickstart,如下:
该界面主要是配置语言、键盘类型、时区、root用户的密码
该界面主要是配置是通过何种方式安装系统的,在此我们选择的是NFS方式。这个我们也在前文提到过。
该界面主要是询问是否安装新的boot loader和MBR。
该界面主要是配置系统的分区,注意图形界面下不能进行LVM的配置。如果要进行LVM配置的话,可以通过修改kickstart的配置文件来达到目的。这个我会在以后的文章中进行介绍。
该界面主要是配置客户端的网卡名称以及该网卡的IP地址形式,我们在此为网卡命名为eth0,并且配置该网卡的获取IP地址形式是DHCP方式的。
该界面主要是配置防火墙和Selinux,默认在此我们禁用。
该界面配置是否显示配置。
该界面主要配置需要安装的软件包。在此我要提醒下,如果你的centos镜像使用的是mini版的话,在安装包选择base后,系统安装时会报错。
但是centos镜像文件使用的是DVD版的话,安装包选择base正常安装。
该界面配置系统安装前需要执行的脚本。
该界面配置系统安装后需要执行的脚本。
以上配置完毕后,我们就可以保存此配置文件。点击“file”-“save”,如下:
该配置文件默认会保存到,用户的home目录下,如下:
查看ks.cfg自动应答文件的内容,如下:
通过上图我们可以看到,此配置文件的内容和我们刚刚通过图形界面配置意义对应的。
5.3 安装vsftp服务
在前文,我们提到过PXE的default文件的ks文件路径是存放在/var/ftp/pub目录下,如下:
这个是通过FTP进行连接的。那么我们就要按照vsftpd,如下:
yum –y install vsftpd
复制kickstart的自动应答文件ks.cfg,到ftp的公共目录下并修改其相应的用户组,如下:
cp /root/ks.cfg /var/ftp/pub/
ll -h /var/ftp/pub/
chown -R nobody:nobody /var/ftp/pub/
六、使用PXE功能引导客户机
上述配置完毕后,我们就可以启动客户端来进行centos的网络安装,在客户端的BIOS中需要配置PXE启动。
配置完毕后,我们就可以启动客户端。如下:
通过上图,我们可以知道客户端已通过DHCP服务器获取到IP地址。
通过上图我们可以看出系统已经成功下载内核文件,并加载成功。
开始安装系统。
本文出自 “烂泥行天下” 博客,请务必保留此出处
年轻是我们唯一拥有权利去编织梦想的时光