首页 > 系统相关 >基于Linux系统的PXE搭建方法

基于Linux系统的PXE搭建方法

时间:2023-04-27 15:44:39浏览次数:52  
标签:RHEL7 pxelinux ftp 192.168 tftpboot Linux var PXE 搭建

本文分享自天翼云开发者社区《基于Linux系统的PXE搭建方法》,作者:t***n

 

一、底层环境准备

1、安装RedHat7.6系统

2、关闭防火墙和Selinux

systemctl stop firewalld

chkconfig firewalld off

vim /etc/sysconfig/selinux

    修改SELINUX=disabled

3、配置本地yum源

vim /etc/yum.repos.d/rhel7.repo     

    [rhel7]

    name=RHEL7

    baseurl=file:///mnt

    enabled=1

    gpgcheck=0

4、安装需要的服务及软件包

yum install vsftpd tftp-server dhcp syslinux system-config-kickstart

    dhcp:提供dhcp服务

    vsftpd:管理本地挂在的OS完整镜像

    tftp-server:使可启动镜像通过使用tftp协议网络下载

    syslinux:包含网络启动所需的boot loader

    system-config-kickstart:配置kickstart的图形界面的工具

5、本地物理机网络配置

vim /etc/sysconfig/network-scripts/ifcfg-eth0

    TYPE=Ethernet

    BOOTPROTO=static

    NAME=eth0

    DEVICE=eth0

    ONBOOT=yes

    IPADDR=192.168.64.25

    NETMASK=255.255.255.0

    GATEWAY=192.168.64.2

二、配置DHCP服务

vim /etc/dhcp/dhcpd.conf

    添加如下:

option arch code 93 = unsigned integer 16;

allow booting;

allow bootp;

subnet 192.168.64.0 netmask 255.255.255.0 {

  option routers 192.168.64.2;

  range 192.168.64.100 192.168.64.200;   #分配出去的IP范围

  class "pxeclients" {

    match if substring (option vendor-class-identifier,0,9) = "PXEClient";

    next-server 192.168.64.25;     #tftp地址,即本机PXE server IP

    if option arch = 00:07 {

      filename "pxelinux/BOOTX64.EFI";  #6系统UEFI模式下PXE启动时的引导文件,7系列系统还可以使用shim&grubx64.efi

     }

    else {

      filename "pxelinux/pxelinux.0";  #Legacy模式

    }

  }

}

注意:启动DHCP前要配好本机网络地址信息,否则无法启动dhcpd

启动服务:

    #service dhcpd start                                [ok]

    #service dhcpd restart                              [ok]

三、配置tftp服务

vim /etc/xinetd.d/tftp

service tftp

{

 socket_type    = dgram

 protocol         = udp

 wait                = yes

 user                = root

 server             = /usr/sbin/in.tftpd

 service_args   = -s/tftpboot ###修改为引导文件的路径,本文以 /var/lib/tftpboot为例

 per_xource     = 11

 cps                 = 100 2

 flags               =IPv4

 disable           = no  ###将disable改为no

}

启动服务:

    #service xinetd restart                             [ok]

四、配置PXE启动引导目录

1、将系统镜像mount或拷贝到PXE服务器上

mkdir /var/ftp/pub/RHEL7_6  ###因为用ftp搭建,所以要放在/var/ftp/文件夹中,RHEL7_6是以系统命名的,若还要其它系统可同时存在,做好区分即可

mount /dev/sr0 /mnt

cp /mnt/* /var/ftp/pub/RHEL7_6/  ###此处全copy过去,若挂载为mount /dev/sr0 /var/ftp/pub/RHEL7_6,但是mount是一次生效的,后续再用还需要mount,且安装系统过程中mount 不能中断

2、copy引导文件到/var/lib/tftpboot/pxelinux中

mkdir /var/lib/tftpboot/pxelinux/RHEL7_6  ###因为可能会做多个系统,所以在pxelinux中创建不同系统所对应的文件夹

cp /var/ftp/pub/RHEL7_6/images/pxeboot/vmlinuz /var/lib/tftpboot/pxelinux/RHEL7_6

cp /var/ftp/pub/RHEL7_6/images/pxeboot/initrd.img /var/lib/tftpboot/pxelinux/RHEL7_6

cp /var/ftp/pub/RHEL7_6/EFI/BOOT/BOOTX64.EFI /var/lib/tftpboot/pxelinux

cp /var/ftp/pub/RHEL7_6/EFI/BOOT/grubx64.cfg /var/lib/tftpboot/pxelinux

 3、创建Legacy模式的安装启动文件default

mkdir /var/lib/tftpboot/pxelinux/pxelinux.cfg

vim default

    default 0  #默认进label0

    timeout 600  #600秒后自动进label1系统安装     

    prompt 1

 

    label 0

        localboot 0

    label 1

        kernel RHEL7_6/vmlinuz

        append initrd=RHEL7_6/initrd.img inst.repo=ftp://192.168.64.25/pub/RHEL7_6/ ip=dhcp nomodeset ks=ftp://192.168.64.24/pub/RHEL7_6/ks7_6.cfg

4、创建UEFI模式的引导文件grub.efi

vim /var/lib/tftpboot/pxelinux/grub.efi

 

    menuentry 'Install Red Hat Enterprise Linux 7.6' --class fedora --class gnu-linux --class gnu --class os {

    linuxefi /pxelinux/RHEL7_6/vmlinuz inst.repo=ftp://192.168.64.25/pub/RHEL7_6  ks=ftp://192.168.64.24/pub/RHEL7_6/ks7_6.cfg  

    initrdefi /pxelinux/RHEL7_6/initrd.img

 }

5、将/var/lib/tftpboot/pxelinux.0文件拷贝到/var/lib/tftpboot/pxelinux文件夹中

五、重启PXE服务器

六、重启PXE服务器系统下的相关服务

service dhcpd restart

service xinetd restart

service vsftpd restart

service tftp restart

标签:RHEL7,pxelinux,ftp,192.168,tftpboot,Linux,var,PXE,搭建
From: https://www.cnblogs.com/developer-tianyiyun/p/17359110.html

相关文章

  • 在linux系统里将图片通过代码打出来
    打开终端1,访问https://sourceforge.net/projects/aa-project/files打开后选择aa-lib和aview分别下载最新版本2,将这两个安装包上传到linux系统里,并解压。3,这两个包,分别./configure&&make&&makeinstall4,完成后,yuminstallImageMagick5,上传一张图片,使用asciiview......
  • Linux命令(二)
    一.su命令(切换账户)su命令可以用于切换账户//语法:su-[用户名]不写用户名默认切换到root管理员root账户切换到普通账户不需要密码普通账户切换到管理员账户需要密码二.sudo命令(暂时使用管理员权限)sudo命令可以为一条命令暂时赋予管理员权限语法:sudo其他命令但是并......
  • iis搭建discuz7.2 的曲折经历 y以及各种报错的处理
    环境windowsserver 2008R2  mysql 5.1.73 iis6 php5.6安装PHP解压PHP,我给的路径是C:\Users\Administrator\Desktop\php,大伙儿随意把php.ini-production改名为php.ini(用于开发环境的话,就改那个development)修改扩展路径extension_dir="./ext"启用MySQL扩展(即去......
  • 直播平台搭建源码,使用EasyExcel实现导入导出功能
    直播平台搭建源码,使用EasyExcel实现导入导出功能使用,添加依赖 <dependencies> <!--https://mvnrepository.com/artifact/com.alibaba/easyexcel--> <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>......
  • Grid/RAC 11.2.0.4 与 Linux 7 的一些兼容性问题
    1、在LINUX6上安装11.2.0.4的RAC,基本上不会遇到什么问题,但如果在LINUX7上安装11.2.0.4的RAC,经常性地会遇到问题。为了很好地解决这个问题,ORACLE官方在MOS上给了一篇文档《Installationwalk-through-OracleGrid/RAC11.2.0.4onOracleLinux7(DocID1951613.1)》,这篇文档......
  • Linux安装zookeeper
    前言:还是和以前一样,linux安装软件的目录都是data目录1.进入data目录,创建zookeeper目录并进入该目录cd/datamkdirzookeepercdzookeeper 2.上传"zookeeper-3.4.13.tar.gz"文件到当前目录(/data/zookeeper)  "zookeeper-3.4.13.tar.gz"文件地址:https://shaun.lanzo......
  • C++ linux epoll并发服务器模型初探
    socket通讯流程图最简单的可以通讯的C++服务器端代码:#include<stdio.h>#include<unistd.h>#include<sys/types.h>#include<sys/socket.h>#include<arpa/inet.h>#include<netinet/in.h>#defineSERV_PORT8000intmain(void){intlfd......
  • Linux安装JDK1.8
    1.创建Linux软件目录并进入data目录mkdir/datacddata/  2.创建java目录,并进入java目录mkdirjavacdjava 3.上传"jdk-8u181-linux-x64.tar.gz"文件,到当前目录(/data/java)jdk文件地址:https://www.123pan.com/s/QcP7Vv-FrH8d.html 4.解压安装JDK(jdk-8u1......
  • Linux shell regular expression All In One
    LinuxshellregularexpressionAllInOneLinuxshell正则表达式demos(......
  • 从零开始基于Archlinux 安装 containerd + k8s
    下载ISO文件:https://mirrors.tuna.tsinghua.edu.cn/archlinux/iso/latest/目录1.准备工作2.磁盘管理2.1磁盘分区2.2磁盘格式化2.3磁盘挂载3.安装系统3.1安装系统文件3.2配置fstab3.3配置系统3.4安装引导程序3.5安装OpenSSH3.6主机名3.7设置root密码3.8网络配置3.......