PXE自动平台 搭建 银河麒麟 UEFI x86_64 ARM64

news2025/1/10 16:40:47

1. PXE自动化 原理

要实现PXE自动安装需要以下组件:

  1. DHCP服务:服务器通过网络启动时自动分配IP地址。
  2. TFTP服务:提供服务器启动下载启动引导EFI。
  3. HTTP服务:操作系统镜像下载。

各组件工作原理如下[1]:

  1. 开PXE后,主机启动时通过网口DHCP获取到IP,以及启动引导文件位置。
  2. 主机通过TFTP协议从从指定位置获取启动引导文件EFI。
  3. 主机上通过引到程序启动系统安装程序。
  4. 系统安装程序通过HTTP协议下载操作系统镜像中所需的内容,例如内核、软件安装包等。
  5. 系统安装完成。
    在这里插入图片描述

2. 安装

2.1 系统配置

关闭selinux

setenforce 0

在这里插入图片描述

关闭开机启动

vi /etc/selinux/config

设置 SELINUX=disabled
在这里插入图片描述

关闭防火墙

或开放端口:

  • TFTP TCP 69
  • HTTP TCP 80
  • DHCP UDP 67,68

2.2 系统镜像准备

请准备X86_64、ARM64 操作系统安装镜像,这里以 银河麒麟V10 举例。
在这里插入图片描述

我们将解压后镜像存储于 /var/www/html/ 中,创建相关目录

mkdir -p /var/www/html/kylin_x86_64
mkdir -p /var/www/html/kylin_aarch64

在这里插入图片描述

把x86_64镜像中的所有内容复制 /var/www/html/kylin_x86_64

mkdir -p cdrom
mount -o loop Kylin-Server-V10-SP3-General-Release-2212-X86_64.iso cdrom
cp -rf cdrom/. /var/www/html/kylin_x86_64
umount cdrom

在这里插入图片描述

把ARM64镜像中的所有内容复制 /var/www/html/kylin_aarch64

mkdir -p cdrom
mount -o loop Kylin-Server-V10-SP3-General-Release-2212-ARM64.iso cdrom
cp -rf cdrom/. /var/www/html/kylin_aarch64
umount cdrom

在这里插入图片描述

2.3 TFTP服务 安装配置

安装TFTP服务

yum install -y tftp-server xinetd

在这里插入图片描述

编辑/etc/xinetd.d/tftp 文件启动允许tftp

vi /etc/xinetd.d/tftp

disable 改为no

在这里插入图片描述
注意,tftp默认的服务目录是 /var/lib/tftpboot ,因此我们需要将我们的EFI启动引导文件放到该目录下。

在此之前我们需要将操作系统的镜像文件中EFI文件拷贝到该目录中。

首先创建不同CPU指令集的目录用于容纳不同的启动文件,这里以 x86_64、aarch64(arm64)、为例:

mkdir -p /var/lib/tftpboot/x86_64
mkdir -p /var/lib/tftpboot/aarch64

ls -l /var/lib/tftpboot

在这里插入图片描述

从镜像文件中的/EFI/BOOT/*/images/pxeboot/ 中的所有内容复制 相应目录中。

x86_64 启动引导复制

\cp -rf /var/www/html/kylin_x86_64/EFI/BOOT/* /var/lib/tftpboot/x86_64/
\cp -rf /var/www/html/kylin_x86_64/images/pxeboot/* /var/lib/tftpboot/x86_64/

ls -l /var/lib/tftpboot/x86_64/

在这里插入图片描述

ARM64 启动引导复制

\cp -rf /var/www/html/kylin_aarch64/EFI/BOOT/* /var/lib/tftpboot/aarch64/
\cp -rf /var/www/html/kylin_aarch64/images/pxeboot/* /var/lib/tftpboot/aarch64/

ls -l /var/lib/tftpboot/aarch64/

在这里插入图片描述

命令前缀\cp 中的\是用于放置覆盖确认提示。

设置开机启动并启动服务

systemctl enable --now xinetd
systemctl enable --now tftp

在这里插入图片描述

查看xinted 服务状态:

systemctl status xinetd

在这里插入图片描述
查看tftp 服务状态:

systemctl status tftp

在这里插入图片描述

2.4 DHCP服务 安装配置

安装dhcp服务:

yum install -y dhcp

在这里插入图片描述

创建DHCP配置文件 /etc/dhcp/dhcpd.conf

DHCP配置文件关键信息如下:

  • 网段:192.168.50.0/24
  • 网关:192.168.50.1 (也就是PXE服务器IP作为网关)
  • DNS:223.5.5.5
  • 分配IP范围:192.168.50.50 ~ 192.168.50.250
  • 启动引导服务地址:192.168.50.1 (也就是PXE服务器IP)
  • 指令集引导文件位置(相对TFTP服务的位置/var/lib/tftpboot):
    • x86_64:x86_64/BOOTX64.EFI
    • aarch64(ARM64):aarch64/BOOTAA64.EFI
vi /etc/dhcp/dhcpd.conf

/etc/dhcp/dhcpd.conf 修改自 /usr/share/doc/dhcp-server/dhcpd.conf.example

/etc/dhcp/dhcpd.conf 配置文件内容如下:

#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp/dhcpd.conf.example
#   see dhcpd.conf(5) man page
#
ddns-update-style interim;
allow booting;
allow bootp;
ignore client-updates;
set vendorclass = option vendor-class-identifier;
option pxe-system-type code 93 = unsigned integer 16;
#配置要分配的地址段及netmask, 需要修改为自己的网段
subnet 192.168.50.0 netmask 255.255.255.0 { 
    # 配置网关,网络里不要出现多个DHCP服务否则可能会无法正常引导。
    option routers 192.168.50.0;
    # 配置dns
    option domain-name-servers 223.5.5.5; 
    # 配置netmask
    option subnet-mask 255.255.255.0;
    # 分配的ip范围
    range dynamic-bootp 192.168.50.50 192.168.50.250;
    # 缺省租约时间
    default-lease-time 21600;
    # 最大租约时间
    max-lease-time 43200;
    # 指定引导装机的ip
    next-server 192.168.50.1; 

    class "pxeclients" {
        # 根据系统类型选择不同EFI引导文件
        # - 07和09 为x86_64 
        # - 0b 为ARM64
        # - 27 为LoongArch64
        # - 其他: legacy 方式引导
        # EFI引导采用TFTP下载,文件位置为TFTP目录相对位置
        match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
        
        if option pxe-system-type = 00:07 {
            # x86_64 引导
            filename "x86_64/BOOTX64.EFI";
        } else if option pxe-system-type = 00:09 {
            # x86_64 引导
            filename "x86_64/BOOTX64.EFI";
        } else if option pxe-system-type = 00:0b {
            # arm64引导
            filename "aarch64/BOOTAA64.EFI";
        } else {
            # legacy引导 该文件需要安装 syslinux,
            filename "pxelinux.0";
        }
    }
}

注意:x86_64引导文件名为 BOOTX64.EFI ,ARM64引导文件名为 BOOTAA64.EFI

设置开机启动并启动服务

systemctl enable --now dhcpd

在这里插入图片描述

查看DHCP服务启动状态

systemctl status dhcpd

在这里插入图片描述

2.5 HTTP服务 安装配置

yum install -y httpd

在这里插入图片描述
httpd默认映射的目录为/var/www/html 也就是我们之前创建用于存储镜像的目录。

设置httpd开机启动并启动

systemctl enable --now httpd

在这里插入图片描述
查看服务状态

systemctl status httpd

在这里插入图片描述
通过浏览器访问httpd映射的ARM64目录

http://192.168.50.1/kylin_aarch64/

在这里插入图片描述

到此为止PXE的准备工作完成。

3. 系统自动化安装

请参考 CSDN . 定制银河麒麟镜像 . Cliven_ . 2024.06 . https://blog.csdn.net/q1009020096/article/details/138839062

参考文献

[1]. CSDN . 麒麟kylinV10实现arm和x86无人值守安装PXE(实施篇) . 九分横 . 2021.08 . https://blog.csdn.net/qq_40742007/article/details/120015910
[2]. 博客园 . KylinV10SP2实现ARM和x86架构系统PXE部署(S3) . 道观猫 . 2024.05 . https://www.cnblogs.com/daoguanmao/p/18192065
[3]. CSDN . CentOS 7下PXE+Kickstart无人值守安装操作系统 . 云改变世界 . 2023.11 . https://blog.csdn.net/w12345jl/article/details/134482860
[4]. Github . PXE+kickstart无人值守安装CentOS 7 . 骏马金龙 . 2019.07 . https://junmajinlong.github.io/linux/pxe_centos7/index.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1849757.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android-app自动更新总结(已适配9-0)(1)

} //检查版本号,第一次请求(post),,,UpdateAppBean根据服务器返回生成 private void requestAppUpdate(int version, final DataRequestListener listener) { OkGo.post(Const.HOST_URL Const.UPDATEAPP).params(“version”, v…

leetcode 动态规划 (基础版) 下降路径最小和

题目: 题解: 这题和三角型路径和相似,但这题无法在像哪一题一样通过换一个方向逃避下标特判。所以这道题就写一个下标特判的方案。特殊的下标是每一行的第一个元素和最后一个元素,它们由头上的一个元素和左上和右上中的其中一个…

ArcGIS与Excel分区汇总统计三调各地类面积!数据透视表与汇总统计!

​ 点击下方全系列课程学习 点击学习—>ArcGIS全系列实战视频教程——9个单一课程组合系列直播回放 点击学习——>遥感影像综合处理4大遥感软件ArcGISENVIErdaseCognition 01 需求说明 介绍一下ArcGIS与Excel统计分区各地类的三调地类面积。 ArcGIS统计分析不会&#x…

Xshell7免费版下载安装使用

​一、下载安装​ 1.打开官网下载 https://www.xshell.com/zh/free-for-home-school/ 2.选择合适的下载路径,点击下载按钮,然后按照提示完成安装。 二、Xshell7的使用,Xhell连接Linux 1.连接之前,确保在Linux中开启SSH。参考&a…

大数据存储技术笔记

目录 大数据的特性 HDFS 读流程的基本步骤 HDFS 写流程的基本步骤 Mapreduce的执行过程 MapReduce 中 combiner 作用 hadoop 调度器及其工作方法 Hive 中内部表与外部表区别(创建删除角度) Hadoop 的 2 个主要组件及其功能 Hadoop MapReduce 的工作流程 正常工作的 ha…

百余App通过蚂蚁数科mPaaS启动鸿蒙开发测试

6月21日,在华为开发者大会主论坛上,蚂蚁数科mPaaS公布了三方生态共建进展:华夏银行、广发银行、中石油、中国移动等200余App启动鸿蒙开发测试。此前,该产品已全量适配鸿蒙100余个SDK,并提供20余项安全能力,…

vue3中h函数的使用

h函数是用于创建一个 vnodes ,它既可以用于创建原生元素,也可以创建组件,其渲染后的效果等同于使用模版语言来进行创建。 h函数的传参如下: // 完整参数签名 function h(type: string | Component,props?: object | null,child…

XMLXXE实体注入

XML&XXE实体注入 原理 XML被设计为传输和存储数据,XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素,其焦点是数据的内容,其把数据从HTML分离,是独立于软件和硬件的信息传输工具。等同于JSO…

h5兼容问题 复制粘贴移动端无法粘贴复制内容

const selectText (textbox, startIndex, stopIndex) > {if (textbox.createTextRange) {//ieconst range textbox.createTextRange();range.collapse(true);range.moveStart(character, startIndex);//起始光标range.moveEnd(character, stopIndex - startIndex);//结束光…

Web渗透:XSS-DOM-based XSS

DOM-based XSS(基于DOM的跨站脚本攻击)是一种XSS攻击类型,其特点是恶意脚本通过操作文档对象模型(DOM)直接在客户端执行,而无需经过服务器的处理。这种攻击主要利用客户端JavaScript代码中的漏洞&#xff0…

如何利用数据仓库进行业务分析:一名大数据工程师的视角

在大数据时代,数据的有效利用对企业的成功至关重要。 本文将基于上面的流程图,详细介绍如何利用数据仓库进行业务分析,并提供实际的例子和代码演示,以帮助读者更好地理解和应用相关技术。 数据仓库的基本流程 上图展示了一个典…

【计算机网络仿真】b站湖科大教书匠思科Packet Tracer——实验6 生成树协议STP的功能

一、实验目的 1.验证以太网交换机生成树协议的功能; 2.理解网络环路对网络的负面效应; 3.理解生成树协议的作用。 二、实验要求 1.使用Cisco Packet Tracer仿真平台; 2.观看B站湖科大教书匠仿真实验视频,完成对应实验。 三、实…

【2024最新精简版】网络_Linux操作系统面试篇

文章目录 简述 tcp 和 udp的区别?get 和 post 请求有哪些区别?常用HTTP请求方式有哪些 ?进程跟线程的区别?僵尸进程?IO的多路复用?虚拟内存什么是OSI模型说一说HTTP协议说一说HTTPS协议HTTPS协议和HTTP协议有什么区别…

使用阿里开源的Spring Cloud Alibaba AI开发第一个大模型应用

背景 前段时间看到Spring推出了SpringAI,可以方便快速的接入ChatGPT等国外的大模型,现在阿里巴巴也紧追脚步推出了Spring Cloud Alibaba AI,Spring Cloud Alibaba AI 目前基于 Spring AI 0.8.1 版本 API 完成通义系列大模型的接入。通义接入…

PHP发送HTML邮件的步骤?设置模板的技巧?

PHP发送HTML邮件怎么设置模板?如何用PHP群发邮件? PHP提供了强大的功能来发送HTML格式的电子邮件,这在需要发送格式化内容的邮件时特别有用。AokSend将详细介绍PHP发送HTML邮件的步骤,涵盖了必要的准备工作和实际操作过程。 PHP…

离线源码编译安装zabbix-agent

文章目录 1,先进zabbix官网下载zabbix的源码包2,把这个zabix源码包上传到需要安装的目标机器上去3,编译安装3.1 ,解压软件包得到一个zabbix-5.0.42的文件夹3.2,进入/vdb/zabbix-5.0.42文件夹,依次执行命令 …

STM32单片机USART串口收发数据包

文章目录 1. 串口通信 1.1 串口初始化 1.2 库函数 2. 串口收发HEX数据包 2.1 Serial.c 2.2 Serial.h 2.3 main.c 3. 串口收发文本数据包 3.1 Serial.c 3.2 Serial.h 3.3 main.c​​​​​​​ 1. 串口通信 对于串口通信的详细​​​​​​​解析可以看下面这篇文章…

锂磷硫(LPS)属于硫化物固态电解质 Li7P3S11是代表性产品

锂磷硫(LPS)属于硫化物固态电解质 Li7P3S11是代表性产品 锂磷硫(LPS),为非晶态材料,是硫化物固态电解质代表性产品之一,具有热稳定性好、成本较低等优点,在固态电解质中离子电导率较…

C#实现边缘锐化(图像处理)

在 C# 中进行图像的边缘锐化,可以通过卷积滤波器实现。边缘锐化的基本思想是通过卷积核(也称为滤波器或掩模)来增强图像中的边缘。我们可以使用一个简单的锐化核,例如: [ 0, -1, 0][-1, 5, -1][ 0, -1, 0]这个卷积核…