PXE服务搭建

一、 什么是PXE

PXE是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP或MTFTP协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。

 

二、 PXE工作流程

1、 PXE Client从自己的PXE网卡启动,向本网络中的DHCP服务器索取IP;

2、 DHCP服务器返回分配给客户机的IP以及PXE文件的放置位置(该文件一般是放在一台TFTP服务器上);

3、 PXE Client向本网络中的TFTP服务器索取grubaa64.efi 文件;

4、 PXE Client取得grubaa64.efi 文件后之执行该文件;

5、 根据grubaa64.efi 的执行结果,通过TFTP服务器加载内核和文件系统 ;

6、 进入安装画面, 此时可以通过选择HTTP、FTP、NFS方式之一进行安装;

 

三、 安装依赖包

1、 配置前关闭系统防火墙

[root@localhost ~]# systemctl stop firewalld

[root@localhost ~]# systemctl disable firewalld

[root@localhost ~]# setenforce 0

2、 配置yum源并安装PXE依赖包

[root@localhost ~]#  yum -y install dhcp* tftp* xinetd http* rpcbind*

 

四、 配置DHCP服务

DHCP 代表动态主机配置协议Dynamic Host Configuration Protocol,它主要用于动态分配网络配置参数,如用于接口和服务的 IP 地址。在 PXE 环境中,DHCP 服务器允许客户端请求并自动获得一个 IP 地址来访问网络。

DHCP配置文件

[root@localhost ~]# vim /etc/dhcp/dhcpd.conf

default-lease-time 600;

max-lease-time 7200;

ddns-update-style none;

ignore client-updates;

subnet 10.93.20.0 netmask 255.255.255.0 {

range 10.93.20.100 10.93.20.200;

option routers 10.93.20.192;

option broadcast-address 10.93.20.255;

option subnet-mask 255.255.255.0;

option time-servers 10.93.20.192;

option domain-name-servers 10.93.20.192;

next-server 10.93.20.192;

filename "euler/grubaa64.efi";

}

[root@localhost ~]# systemctl restart dhcpd

五、 配置TFTP服务

TFTP配置文件

[root@localhost ~]# vim /etc/xinetd.d/tftp

service tftp

{

    socket_type             = dgram

    protocol                = udp

    wait                    = yes

    user                    = root

    server                  = /usr/sbin/in.tftpd

    server_args             = -s /var/lib/tftpboot

    disable                 = no

    per_source              = 11

    cps                     = 100 2

    flags                   = IPv4

}

[root@localhost ~]# systemctl restart tftp

[root@localhost ~]# systemctl restart xinetd

 

六、 配置PXE启动文件

[root@localhost ~]# mkdir –p /var/lib/tftpboot/euler

[root@localhost ~]#  cp -avf /mnt/EFI/BOOT/*  /var/lib/tftpboot/euler

[root@localhost ~]#  cp /mnt/images/pxeboot/vmlinuz  /var/lib/tftpboot/euler

[root@localhost ~]#  cp /mnt/images/pxeboot/initrd.img  /var/lib/tftpboot/euler

root@localhost ~]# ls /var/lib/tftpboot

root@localhost ~]# chmod –R 777 /var/lib/tftpboot

 

七、 配置Grub引导文件

[root@localhost ~]# vim /var/lib/tftpboot/grub.cfg

set default="1"

………………

set timeout=30

### END /etc/grub.d/00_header ###

search --no-floppy --set=root -l 'openEuler-2.0-SP8-aarch64'

### BEGIN /etc/grub.d/10_linux ###

menuentry 'Install EulerOS V2.0SP8 with text mode' --class red --class gnu-linux --class gnu --class os {

        linux euler/vmlinuz inst.ks=http://10.93.20.192/ks.cfg inst.repo=http://10.93.20.192/euler ro

        initrd euler/initrd.img

}

 

八、 配置KS文件

1、 编辑ks文件,修改如下字段

[root@localhost ~]# cp anaconda-ks.cfg /var/www/html/ks.cfg

[root@localhost ~]# vim /var/www/html/ks.cfg

#version=DEVEL

ignoredisk --only-use=sda

# System bootloader configuration

bootloader --location=mbr --boot-drive=sda

autopart --type=lvm

# Partition clearing information

clearpart --all --initlabel --drives=sda

# Use text mode install

# Use CDROM installation media

url --url=http://10.93.20.192/euler

# Keyboard layouts

2、 挂载镜像,并将内容拷贝到/var/www/html/euler目录中

[root@localhost ~]# mount EulerOS-2.0-SP8-aarch64-dvd.iso /mnt

[root@localhost ~]# cp –avf /mnt/*  /var/www/html/euler

[root@localhost ~]# chmod –R 777 /var/www/html/euler

九、 从PXE启动

1、 配置完成后重启服务

[root@localhost ~]# systemctl restart httpd.service

[root@localhost ~]# systemctl restart tftp.service

[root@localhost ~]# systemctl restart http.service

[root@localhost ~]# systemctl restart dhcpd.service

2、 通过web浏览器可正常访问ks文件和euler目录,从PXE启动即可正常安装

PXE服务器搭建--ARM的更多相关文章

  1. [PXE] Linux(centos6)中PXE 服务器搭建,PXE安装、启动及PXE理论详解

    [PXE] Linux(centos6)中PXE 服务器搭建,PXE安装.启动及PXE理论详解 本篇blog主要讲述了[PXE] linux(centos)PXE无盘服务器搭建,安装,启动及pxe协议 ...

  2. CentOS 7 (无盘安装)PXE服务器的搭建(失败求助版)

    折腾了一天半,PXE无盘服务器以暂时失败而告终. 基本原理 1. 首先客户端主机需要支持PXE,大部分主板都支持. 2. PXE服务器需要安装DHCP.TFTP.FTP服务. 3. DHCP服务用来给 ...

  3. 用系统为centos6的主机,搭建PXE服务器,实现批量安装centos6,7系统

    1. iptables -F setenforce 0 临时关掉selinux,清掉防火墙 永久生效更改配置文件:vim /etc/sysconfig/selinux chkconfig iptabl ...

  4. NFS服务器搭建-共享PC与ARM主板文件

    NFS服务器搭建-共享PC与ARM主板文件 在搭建好交叉编译环境之后需要实现目标板与宿主机的文件共享,在这里选择NFS,由于资料较多.需要注意的以下几点: 目标板与宿主机需要连接在同一个网段内. 宿主 ...

  5. 网络装机pxe服务器的配置过程

    网络装机pxe服务器的配置过程 背景: 针对于Linux运维工作中遇到的需要大批量安装Linux系统的情况,通过网络装机的方式实现无人值守安装Linux操作系统,现需要配置一台pxe服务器用于pxe批 ...

  6. Qemu搭建ARM vexpress开发环境(二)----通过u-boot启动Linux内核

    Qemu搭建ARM vexpress开发环境(二)----通过u-boot启动Linux内核 标签(空格分隔): Qemu ARM Linux 在上文<Qemu搭建ARM vexpress开发环 ...

  7. Qemu搭建ARM vexpress开发环境(一)

    Qemu搭建ARM vexpress开发环境(一) 标签(空格分隔): Qemu ARM Linux 嵌入式开发离不开硬件设备比如:开发板.外设等,但是如果只是想学习研究Linux内核,想学习Linu ...

  8. PythonScript_demo--搭建PXE服务器

    前言 是一个测试向的Demo,在实验环境中改改还是可以用的,有助理解PXE服务器的原理.可以结合PXE服务器原理细节来看,传送门:点这里 软件环境 系统 RHEL7 软件 Python 27 RHEL ...

  9. Git本地服务器搭建及使用详解

    Git本地服务器搭建及使用 Git是一款免费.开源的分布式版本控制系统.众所周知的Github便是基于Git的开源代码库以及版本控制系统,由于其远程托管服务仅对开源免费,所以搭建本地Git服务器也是个 ...

  10. ​Linux下的SVN服务器搭建

    ​Linux下的SVN服务器搭建 鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此总 ...

随机推荐

  1. 明解STM32—GPIO应用设计篇之API函数及配置使用技巧

    一.前言 本篇开始对STM32的GPIO在实际开发设计中的使用配置和技巧进行探讨,可以先去回顾下之前介绍的GPIO的相关理论基础知识包括基本结构,工作模式和寄存器原理. 了解过STM32的GPIO相关 ...

  2. shell基本命令与参数

    1:一行可以有多个命令,用";"分开 如: cd ..; ls -l 2:先项用"-"开始,多个连接可连在一起,如:ls -lh, 3:"--&quo ...

  3. [人脸活体检测] 论文:Face De-Spoofing: Anti-Spoofing via Noise Modeling

    Face De-Spoofing: Anti-Spoofing via Noise Modeling 论文简介 将非活体人脸图看成是加了噪声后失真的x,用残差的思路检测该噪声从而完成分类. 文章引用量 ...

  4. Centos7.x 使用 selenium + python + jenkins 做UI自动化

    一.基础环境准备 1.Chrome + Chrome Driver https://www.cnblogs.com/TSmagic/p/15671533.html(此篇文章已经介绍) 2.Seleni ...

  5. ES6模块化之import的使用方式

    1.引入外部文件: <script src='文件路径' type='module'><!--PS:这个type="module" 必须要写,否则浏览器会报错-- ...

  6. 快速上手Linux核心命令(十一):Linux用户相关命令

    目录 前言 useradd 创建用户 usermod 修改用户信息 userdel 删除用户 groupadd 创建新的用户组 groupdel 删除用户组 passwd 修改用户密码 chage 修 ...

  7. OpenAI CLIP 关键点 - 连接图像和文字

    标签: #CLIP #Image2Text #Text2Image #OpenAI 创建时间:2023-04-21 00:17:52 基本原理 CLIP是一个图像分类模型. 准备训练数据:准备大量的文 ...

  8. 【Azure 媒体服务】Media Service的编码示例 -- 创建缩略图子画面的.NET代码调试问题

    问题描述 在中国区Azure上,使用Media Service服务,想要使用.NET的代码来对上传视频创建缩略图(Thumbnail) . 通过官网文档(https://docs.azure.cn/z ...

  9. 2022-09-16:以下go语言代码输出什么?A:101;B:100;C:1;D:2。 package main import ( “fmt“ ) type MS struct {

    2022-09-16:以下go语言代码输出什么?A:101:B:100:C:1:D:2. package main import ( "fmt" ) type MS struct ...

  10. 2022-01-09:整数转换英文表示。将非负整数 num 转换为其对应的英文表示。 示例 1: 输入:num = 123, 输出:“One Hundred Twenty Three“。 力扣273。

    2022-01-09:整数转换英文表示.将非负整数 num 转换为其对应的英文表示. 示例 1: 输入:num = 123, 输出:"One Hundred Twenty Three&quo ...