安装方法:
[root@pxe1 /]# yum install -y tftp-server ... Installed: tftp-server.x86_64 0:5.2-13.el7 Complete! # 安装tftp命令,可用来测试TFTP服务能否正常运行 [root@pxe1 /]# yum install -y tftp 4.2 启动TFTP服务器 # 编辑配置文件/etc/xinetd.d/tftp [root@pxe1 /]# vim /etc/xinetd.d/tftp disable = no <--将yes修改为no启动tftp服务:
# 首先确保tftp.socket正常 [root@pxe1 /]# systemctl start tftp.socket [root@pxe1 /]# systemctl enable tftp.socket Created symlink from /etc/systemd/system/sockets.target.wants/tftp.socket to /usr/lib/systemd/system/tftp.socket. [root@pxe1 /]# systemctl status tftp.socket ● tftp.socket - Tftp Server Activation Socket Loaded: loaded (/usr/lib/systemd/system/tftp.socket; enabled; vendor preset: disabled) Active: active (listening) since 四 2017-05-25 14:57:33 CST; 1h 0min ago Listen: [::]:69 (Datagram) 5月 25 14:57:33 pxe1 systemd[1]: Listening on Tftp Server Activation Socket. 5月 25 14:57:33 pxe1 systemd[1]: Starting Tftp Server Activation Socket. # 然后启动tftp.service [root@pxe1 ~]# systemctl restart tftp.service [root@pxe1 ~]# systemctl enable tftp.service Created symlink from /etc/systemd/system/sockets.target.wants/tftp.socket to /usr/lib/systemd/system/tftp.socket. [root@pxe1 ~]# systemctl status tftp.service ● tftp.service - Tftp Server Loaded: loaded (/usr/lib/systemd/system/tftp.service; indirect; vendor preset: disabled) Active: active (running) since 四 2017-05-25 14:57:33 CST; 20s ago Docs: man:in.tftpd Main PID: 14621 (in.tftpd) CGroup: /system.slice/tftp.service └─14621 /usr/sbin/in.tftpd -s /var/lib/tftpboot 5月 25 14:57:33 pxe1 systemd[1]: Started Tftp Server. 5月 25 14:57:33 pxe1 systemd[1]: Starting Tftp Server... 4.3 导入必要文件需要导入TFTP服务器的主要文件有:
引导文件 - pxelinux.0
内核文件:vmlinuz initrd.img
引导菜单:isolinux.cfg -- 开机后选择启动项的菜单文件
4.3.1 导入引导文件引导文件pxelinux.0由软件包syslinux生成,首先要安装syslinux软件包:
[root@pxe1 ~]# yum install -y syslinux # 将pxelinux.0拷贝至TFTP根目录下 [root@pxe1 ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ 4.3.2 导入内核及菜单文件内核文件:vmlinuz initrd.img,一般存在于系统光盘的pxeboot目录下:
[root@pxe1 syslinux]# cd /mnt/images/pxeboot/ [root@pxe1 pxeboot]# ls initrd.img TRANS.TBL vmlinuz但是我们可以发现,在isolinux目录下也有相同的内容,同时,还包括引导菜单(isolinux.cfg)及其启动时用到的文件:
isolinux.cfg - 引导菜单配置文件
vesamenu.c32 - 系统自带的两种窗口模块之一
boot.msg - 窗口提示信息文件,提示信息在菜单出现前出现,显示时间较短,可以添加些艺术字之类的信息。
splash.png - 窗口背景图片
因此,我们可以从系统光盘的images/pxeboot/目录下复制内核文件,也可以从isolinux下复制,为了方便起见,这里从isolinux目录下复制,可以只复制我们需要的文件,如:
isolinux.cfg vesamenu.c32 boot.msg splash.png
也可以将isolinux目录下的文件全部复制到TFTP根目录/var/lib/tftpboot:
[root@pxe1 /]# cp -rf /mnt/isolinux/* /var/lib/tftpboot/然后准备pxe引导菜单:
[root@pxe1 /]# mkdir /var/lib/tftpboot/pxelinux.cfg [root@pxe1 /]# mv /var/lib/tftpboot/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default [root@pxe1 /]# cd /var/lib/tftpboot/pxelinux.cfg [root@pxe1 pxelinux.cfg]# ls default