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. C# 监听窗口分辨率/DPI变更

    当程序运行,窗口已经加载后,如果修改屏幕分辨率,会影响窗口的正常显示. 举个案例: 悬浮窗口,显示在屏幕右下角.当分辨率.文本显示比例变更后,窗口位置可能会超出屏幕范围. 所以当屏幕变更时,我们需要知 ...

  2. Prism Sample 9 ChangeConvention

    上个例子跳过了ViewModelLocator,因是采用约定的方式最为方便. 如果有人要修改约定,自定义view和viewModel的默认自动定位方式,怎么办呢? 在app.xaml.cs重写以下方法 ...

  3. 【11个适合毕设的Python可视化大屏】用pyecharts开发拖拽式可视化数据大屏

    你好,我是@马哥python说,一枚10年程序猿. 一.效果演示 以下是我近期用Python开发的原创可视化数据分析大屏,非常适合毕设用,下面逐一展示:(以下是截图,实际上有动态交互效果哦) 以下大屏 ...

  4. 从原理到应用,人人都懂的ChatGPT指南

    作者:京东科技 何雨航 引言 如何充分发挥ChatGPT潜能,已是众多企业关注的焦点.但是,这种变化对员工来说未必是好事情.IBM计划用AI替代7800个工作岗位,游戏公司使用MidJourney削减 ...

  5. PBN衔接ILS时中间进近航段的保护区绘制方法

    收到网友提问,PBN程序和ILS程序在衔接时,中间进近航段的保护区该怎么去绘制. 这个问题怎么看呢?首先起始进近航段与中间进近航段存在两种连接方式,一种是直线进近.另一种是转弯进近,两者的保护区是显著 ...

  6. 2022-04-18:things是一个N*3的二维数组,商品有N件,商品编号从1~N, 比如things[3] = [300, 2, 6], 代表第3号商品:价格300,重要度2,它是6号商品的附属

    2022-04-18:things是一个N3的二维数组,商品有N件,商品编号从1~N, 比如things[3] = [300, 2, 6], 代表第3号商品:价格300,重要度2,它是6号商品的附属商 ...

  7. 2021-10-31:移动零。给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]。输出: [1,3,12,0,0]。说

    2021-10-31:移动零.给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序.示例:输入: [0,1,0,3,12].输出: [1,3,12,0,0].说 ...

  8. vue全家桶进阶之路4:NPM包

    NPM(Node Package Manager)是 Node.js 的包管理工具,用来安装各种 Node.js 的扩展. NPM是 JavaScript 的包管理工具,也是世界上最大的软件注册表.有 ...

  9. 巧用OpenSSH进行域内权限维持

    最近在Windows服务器上安装OpenSSH,意外发现了一个很有意思的技巧,可用来做域内权限维持,废话不多说,直接上步骤. 01.利用方式 (1)在已经获得权限的Windows服务器上,使用msie ...

  10. Galaxy 生信平台(二):生产环境部署

    在 上一篇文章中,我们介绍了适合单个用户进行使用和开发的 Galaxy 在线平台,今天我们来聊一下在为多用户生产环境设置 Galaxy 时,我们应采取的一些可以让 Galaxy 获得最佳性能的额外步骤 ...