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. CentOS 8 部署 ELK 8.7真的是方便呀

    之前装过一次 ELK 7.7,相比之下装 8.7可方便太多了~ CentOS版本 CentOS-8.5.2111-x86_64-dvd1 JAVA ELK会自己使用内置版本的JDK ElasticSe ...

  2. Prism Sample 4 View Discovery

    前三节算是弄明白了Region是什么,但是定义了区域,怎样向区域中添加内容呢?内容是UserControl,即ViewA. 添加内容的方式有2种,一种叫View Discovery,一种叫View I ...

  3. 一个好用的java图片缩放及质量压缩方法

    本文中代码来自:http://blog.csdn.net/liuhuanchao/article/details/50527856由于网站需要对上传的图片进行宽度判断缩放和质量压缩,以提升整体加载速度 ...

  4. 2021-07-28:最短的桥。在给定的二维二进制数组 A 中,存在两座岛。(岛是由四面相连的 1 形成的一个最大组。)现在,我们可以将 0 变为 1,以使两座岛连接起来,变成一座岛。返回必须翻转的

    2021-07-28:最短的桥.在给定的二维二进制数组 A 中,存在两座岛.(岛是由四面相连的 1 形成的一个最大组.)现在,我们可以将 0 变为 1,以使两座岛连接起来,变成一座岛.返回必须翻转的 ...

  5. Jenkins - 更改插件镜像源地址

    Jenkins - 更改插件镜像源地址 进入 系统管理 > 插件管理 > 高级 在升级站点输入框,输入清华的Jenkins镜像源地址:点击提交保存即可: jenkins插件清华大学镜像地址 ...

  6. 使用 Django 集成 vue 到一个服务器上,还是 Django 和 vue 分开部署

    Django+Vue 的项目,实际部署的时候,使用 Django 集成 vue 到一个服务器上,还是 Django 和 vue 分开部署? 目前在架构选择,基本上定了 Django + Vue 但是实 ...

  7. ICLR 2017-RL2: Fast Reinforcement Learning via Slow Reinforcement Learning

    Key GRUs+TRPO+GAE 解决的主要问题 现有RL方法需要手动设置特定领域的算法 DRL学习的过程需要大量的试验牺牲了高样本复杂度(每个task需要数万次经验),相比人来说,这是由于缺乏先验 ...

  8. 【工作随手记】deaklock排查

    生产环境当中还没真正遇到过死锁的问题.有些疑似死锁的问题,后来经过排查也只是其它问题导致的.所以通过jstack到底怎样排查死锁问题有点疏忽了.这里作个记录. 模拟一个死锁 顺便复习一下. 死锁的产生 ...

  9. SRE方法论之拥抱风险

    一.系统不可能100%可靠 系统不可能100%可靠,人都不可能100%健康,更何况我们人类创造的系统?所以,任何软件系统都不应该一味地追求 100%可靠.事实证明,可靠性超过一定值后,再提高可靠性对于 ...

  10. Java(循环语句,数组)

    Java循环 1.while while( 表达式 ) { //循环内容 } 2.do while do { //循环内容 }while(表达式); 3.for for(初始化; 表达式; 更新) { ...