美文网首页Linux学习|Gentoo/Arch/FreeBSD
DAY05 (03):配置PXE引导

DAY05 (03):配置PXE引导

作者: Pseudoloveryou | 来源:发表于2020-02-20 20:41 被阅读0次

    3.1 问题

    本例要求为PXE装机提供引导服务,并提供必要的素材,完成下列任务:

    1. 启用TFTP服务器,部署引导文件(内核vmlinuz、初始文件initrd.img、网卡启动程序

    pxelinux.0)

    2. 创建pxelinux.cfg/配置目录,在此目录下建立默认引导文件default

    3.2 方案

    TFTP,Trivial File Transfer Protocol:简单文件传输协议,通过UDP 69端口提供小文件的传输服

    务,默认应将资源部署到/var/lib/tftpboot目录下,不支持认证和目录访问等复杂FTP操作。

    网卡启动程序pxelinux.0由软件包syslinux提供。

    PXE安装用的内核及初始化文件可从CentOS7的光盘目录/images/pxeboot/下提取。

    PXE启动配置相关资料可参考CentOS7的光盘目录/isolinux/,其中包括图形支持模块

    vesamenu.c32、背景图片spash.png、菜单配置文件isolinux.cfg(使用时改名为default)。

    3.3 步骤

    实现此案例需要按照如下步骤进行。

    步骤一:快速构建TFTP服务器

    1)安装tftp-server软件包

    2)启动系统服务tftp,并设置开机自启

    步骤二:部署启动文件

    1)拷贝pxelinux.0程序,部署到TFTP目录

    在软件包syslinux提供的目录下找到pxelinux.0程序

    01.

    [root@pc207 ~]# pkill -9 dhclient //杀死dhclient进程

    02.

    [root@pc207 ~]# nmcli connection up eth0 //激活原配置

    03.

    .. ..

    01.

    [root@svr7 ~]# yum -y install tftp-server

    02.

    .. ..

    01.

    [root@svr7 ~]# systemctl restart tftp

    02.

    [root@svr7 ~]# systemctl enable tftp

    03.

    Created symlink from /etc/systemd/system/sockets.target.wants/tftp.socket to /usr/

    Top将其拷贝到/var/lib/tftpboot/目录下,确认部署结果:

    2)拷贝引导装机的内核、初始镜像,部署到TFTP目录

    当文件较多时,可以在TFTP目录下创建子目录:

    再通过CentOS7光盘目录找到PXE版内核vmlinuz、初始镜像initrd.img,将其拷贝到上述子目

    录:

    确认部署结果:

    步骤三:配置启动菜单

    1)创建配置目录

    01.

    [root@svr7 ~]# yum -y install syslinux

    02.

    [root@svr7 ~]# rpm -ql syslinux | grep pxelinux.0

    03.

    /usr/share/syslinux/gpxelinux.0

    04.

    /usr/share/syslinux/pxelinux.0

    01.

    [root@svr7 ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

    02.

    [root@svr7 ~]# ls /var/lib/tftpboot/

    03.

    pxelinux.0

    01.

    [root@svr7 ~]# mkdir /var/lib/tftpboot/CentOS7

    01.

    [root@svr7 ~]# cd /var/lib/tftpboot/CentOS7/

    02.

    [root@svr7 CentOS7]# wget http://192.168.4.254/dvd/isolinux/vmlinuz

    03.

    [root@svr7 CentOS7]# wget http://192.168.4.254/dvd/isolinux/initrd.img

    04.

    //下载内核、初始化文件

    01.

    [root@svr7 pxeboot]# ls -R /var/lib/tftpboot/

    02.

    /var/lib/tftpboot/:

    03.

    pxelinux.0 CentOS7

    04.

    05.

    /var/lib/tftpboot/CentOS7:

    06.

    initrd.img vmlinuz

    Top2)以光盘中的isolinux目录为模板,拷贝必要的文件

    3)调整启动参数

    01.

    [root@svr7 ~]# mkdir /var/lib/tftpboot/pxelinux.cfg

    01.

    [root@svr7 ~]# cd /var/lib/tftpboot/

    02.

    [root@svr7 tftpboot]# wget http://192.168.4.254/dvd/isolinux/vesamenu.c32

    03.

    //提供图形支持

    04.

    [root@svr7 tftpboot]# wget http://192.168.4.254/dvd/isolinux/splash.png

    05.

    //准备背景图片

    06.

    07.

    [root@svr7 tftpboot]# wget -O pxelinux.cfg/default http://192.168.4.254/dvd/isolinux/isolinux.cfg

    08.

    //建立菜单配置

    09.

    [root@svr7 isolinux]# ls -R /var/lib/tftpboot/ //确认部署结果

    10.

    /var/lib/tftpboot/:

    11.

    pxelinux.0 pxelinux.cfg CentOS7 splash.png vesamenu.c32

    12.

    13.

    /var/lib/tftpboot/pxelinux.cfg:

    14.

    default

    15.

    16.

    /var/lib/tftpboot/CentOS7:

    17.

    initrd.img vmlinuz

    01.

    [root@svr7 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default

    02.

    default vesamenu.c32 //默认交给图形模块处理

    03.

    timeout 600 //选择限时为60秒(单位1/10秒)

    04.

    .. ..

    05.

    menu title PXE Installation Server //启动菜单标题信息

    06.

    .. ..

    07.

    label linux //菜单项标签

    08.

    menu label ^Install CentOS7 Linux 7

    09.

    kernel CentOS7/vmlinuz //内核的位置

    10.

    append initrd=CentOS7/initrd.img inst.stage2=http://192.168.4.254/dvd

    11.

    //初始镜像、安装源位置

    12.

    label rescue

    Top步骤四:访问TFTP服务端确保可用

    1)在pc207上安装tftp命令工具

    2)在pc207上访问svr7上的TFTP服务端,下载文件测试

    相关文章

      网友评论

        本文标题:DAY05 (03):配置PXE引导

        本文链接:https://www.haomeiwen.com/subject/ytefqhtx.html