PXE服务器搭建--ARM
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的更多相关文章
- [PXE] Linux(centos6)中PXE 服务器搭建,PXE安装、启动及PXE理论详解
[PXE] Linux(centos6)中PXE 服务器搭建,PXE安装.启动及PXE理论详解 本篇blog主要讲述了[PXE] linux(centos)PXE无盘服务器搭建,安装,启动及pxe协议 ...
- CentOS 7 (无盘安装)PXE服务器的搭建(失败求助版)
折腾了一天半,PXE无盘服务器以暂时失败而告终. 基本原理 1. 首先客户端主机需要支持PXE,大部分主板都支持. 2. PXE服务器需要安装DHCP.TFTP.FTP服务. 3. DHCP服务用来给 ...
- 用系统为centos6的主机,搭建PXE服务器,实现批量安装centos6,7系统
1. iptables -F setenforce 0 临时关掉selinux,清掉防火墙 永久生效更改配置文件:vim /etc/sysconfig/selinux chkconfig iptabl ...
- NFS服务器搭建-共享PC与ARM主板文件
NFS服务器搭建-共享PC与ARM主板文件 在搭建好交叉编译环境之后需要实现目标板与宿主机的文件共享,在这里选择NFS,由于资料较多.需要注意的以下几点: 目标板与宿主机需要连接在同一个网段内. 宿主 ...
- 网络装机pxe服务器的配置过程
网络装机pxe服务器的配置过程 背景: 针对于Linux运维工作中遇到的需要大批量安装Linux系统的情况,通过网络装机的方式实现无人值守安装Linux操作系统,现需要配置一台pxe服务器用于pxe批 ...
- Qemu搭建ARM vexpress开发环境(二)----通过u-boot启动Linux内核
Qemu搭建ARM vexpress开发环境(二)----通过u-boot启动Linux内核 标签(空格分隔): Qemu ARM Linux 在上文<Qemu搭建ARM vexpress开发环 ...
- Qemu搭建ARM vexpress开发环境(一)
Qemu搭建ARM vexpress开发环境(一) 标签(空格分隔): Qemu ARM Linux 嵌入式开发离不开硬件设备比如:开发板.外设等,但是如果只是想学习研究Linux内核,想学习Linu ...
- PythonScript_demo--搭建PXE服务器
前言 是一个测试向的Demo,在实验环境中改改还是可以用的,有助理解PXE服务器的原理.可以结合PXE服务器原理细节来看,传送门:点这里 软件环境 系统 RHEL7 软件 Python 27 RHEL ...
- Git本地服务器搭建及使用详解
Git本地服务器搭建及使用 Git是一款免费.开源的分布式版本控制系统.众所周知的Github便是基于Git的开源代码库以及版本控制系统,由于其远程托管服务仅对开源免费,所以搭建本地Git服务器也是个 ...
- Linux下的SVN服务器搭建
Linux下的SVN服务器搭建 鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此总 ...
随机推荐
- ai问答:使用 Vue3 组合式API 和 TS 父子组件共享数据
这是一个使用 Vue3 组合式 API 和 TypeScript 的简单父子组件共享数据示例 父组件 Parent.vue: <template> <div> <p> ...
- #PowerBi 1分钟学会,以“万”为单位显示数据
PowerBi是一款强大的数据分析和可视化工具,它可以帮助我们快速地制作出各种图表和报表,展示数据的价值和洞察. 但是,有时候我们的数据量太大,导致图表上的数字难以阅读和比较.例如,如果我们想要查看某 ...
- 2020-09-10:java里Object类有哪些方法?
福哥答案2020-09-10: registerNatives:private+static.getClass:返回此 Object 的运行时类. hashCode:返回该对象的哈希码值.equals ...
- 2022-09-15:Range模块是跟踪数字范围的模块。 设计一个数据结构来跟踪表示为 半开区间 的范围并查询它们。 半开区间 [left, right) 表示所有 left <= x < righ
2022-09-15:Range模块是跟踪数字范围的模块. 设计一个数据结构来跟踪表示为 半开区间 的范围并查询它们. 半开区间 [left, right) 表示所有 left <= x < ...
- 2022-01-01:给定int[][] meetings,比如 { {66, 70} 0号会议截止时间66,获得收益70 {25, 90} 1号会议截止时间25,获得收益90
2022-01-01:给定int[][] meetings,比如 { {66, 70} 0号会议截止时间66,获得收益70 {25, 90} 1号会议截止时间25,获得收益90 {50, 30} 2号 ...
- 创建CMDB项目
- .Net使用第三方onnx或ModelBuilder轻松接入AI模型
ML.Net - 开源的跨平台机器学习框架 支持CPU/GPU训练 轻松简洁的预测代码 可扩展其他的机器学习平台 跨平台 1.使用Visual Studio的Model Builder训练和使用模型 ...
- vue对vue-giant-tree进行节点操作
vue 项目中使用到了vue-giant-tree这个使用ztree封装的树形插件,在对其节点进行操作时遇到了无法向传统的jquery那样获取到ztreeObj:而导致了无法控制节点dom:浪费了许多 ...
- drf之频率类源码
1 频率类 写一个类,继承SimpleRateThrottle,重写get_cache_key,返回[ip,用户id]什么,就以什么做限制,编写类属性 scope = 字符串,在配置文件中配置 'DE ...
- golang依赖注入工具digo
golang依赖注入工具 digo工具地址:https://github.com/werbenhu/digo 特性 使用注释中的注解 自动代码生成 自动检测循环依赖 编译时期依赖注入 自动初始化 支持 ...