centos7 EFI PXE 安装 OpenEuler(欧拉)操作系统(通过http协议传送配置文件)

1 篇文章 0 订阅

目录

环境:

需要安装的服务:

工作原理

1.设备本地YUM源(CentOS7.6)连接外网可跳过此步骤

步骤1 上传镜像并挂载

步骤2 配置CentOS-Media.repo

步骤3 重新加载yum源

2. 通过 YUM 安装软件

步骤1 安装DHCP

步骤2 安装tftp服务

步骤3 安装nfs服务

3. 配置 DHCP 服务(注意修改ip)

步骤1 注意

步骤2 编辑dhcp配置文件

步骤3 启动dhcp服务

步骤4 设置dhcp开机启动

4. 配置 tftp 服务

步骤1 配置tftp服务配置

步骤2 修改selinux

步骤3 设置tftp服务开机启动并启动tftp服务

步骤4 关闭防火墙,设置开启不开启防火墙

5. 配置 httpd 服务

步骤1 设置http开机启动服务

步骤2 创建ks文件夹

步骤3 上传ks.cfg

步骤4 在# Use hard drive installation media下面把镜像地址改成nfs方式引用(重要)

步骤5 安装系统自动重启加上reboot命令到ks.cfg里面

步骤6 启动httpd服务

步骤7 验证httpd服务是否启动成功

步骤8 浏览器访问ks.cfg文件

6、配置nfs服务

步骤1 创建nfs共享文件夹

步骤2 修改/etc/exports

步骤3 重启nfs服务或重新加载配置

7. 配置支持 PXE 启动(注意ip修改)

步骤1 镜像挂载

步骤2 复制镜像文件到nfs共享文件并重启nfs服务

步骤3 配置启动文件

步骤4 拷贝grubaa64.efi文件

步骤5 拷贝安装源文件到uefi

步骤6 创建grub.cfg引导文件并编辑

步骤7 检查文件是否齐全

步骤8 配置tftpboot及子目录权限777,执行以下命令。

步骤9 检查各个服务的运行情况

步骤10 服务不正常重启服务命令

8.PXE 自动安装 OS

8.1 Kickstart 介绍

8.2 Kickstart 配置文件介绍

8.3 创建 kickstart 文件(手动编辑ks.cfg)

8.5 安装前确认

步骤1

步骤2

步骤3

9、自动安装操作验证

步骤1 创建新的虚拟机(不展示过程)

步骤2 修改虚拟机VMware的引导方式

1、编辑虚拟机设置

2、选项--高级--勾选“UEFI”--“确定”

3、启动虚拟机,正常会出现下图EFI引导

4、出现grub安装界面

5、加载内核加载驱动

6、系统安装自动重启


环境:

本机服务器操作系统:CentOS7.6

目标服务器安装系统:openEuler-20.03-LTS-SP1-x86_64-dvd.iso

虚拟机:Vmware 15.5

远程工具:xshell5、xftp5

虚拟机配置ip地址为:192.168.1.10

网络模式:NAT

注意:本人的电脑是Intel的处理器,只能安装x86的镜像,如果电脑是arm的处理器需要下载aarch64或arrch32的镜像进行安装

需要安装的服务:

dhcp:申请地址进行通信

tftp:提供小文件下载服务(grubaa64.efi、grub.cfg、initrd.img 、vmlinuz)

xinetd:超级守护进程,守护tftp

httpd:提供安装配置文佳下载服务

NFS:共享镜像文件

工作原理

1.设备本地YUM源(CentOS7.6)连接外网可跳过此步骤

为安装dhcp、nfs、http、tftp、xinetd服务做准备。

步骤1 上传镜像并挂载

创建文件夹/software并上传系统镜像(openEuler-20.03-LTS-SP1-x86_64-dvd.iso、CentOS_7_x86_64.iso)到该文件夹,执行以下命令挂载镜像到/mnt目录。提示“mount: /dev/loop0 写保护,将以只读方式挂载”不影响

mount /software/CentOS_7_x86_64.iso /mnt

查看挂载情况

步骤2 配置CentOS-Media.repo

编辑/etc/yum.repos.d/CentOS-Media.repo文件,用编辑器打开/etc/yum.repos.d/CentOS-Media.repo文件,将如下内容复制进CentOS-Media.repo文件。

[centos7] name=centos7 
baseurl=file:///mnt 
enabled=1 
gpgcheck=0

步骤3 重新加载yum源

保存退出后,执行yum repolist all,查看并确认已配置。

yum repolist all

2. 通过 YUM 安装软件

步骤1 安装DHCP

安装DHCP服务,执行以下命令。

yum install dhcp

步骤2 安装tftp服务

安装tftp服务及其xinetd服务,执行以下命令。

yum install tftp xinetd tftp-server

步骤3 安装nfs服务

安装nfs服务,执行以下命令。

yum install httpd

3. 配置 DHCP 服务(注意修改ip)

步骤1 注意

配置业务网口固定IP,例如ens33,通过配置文件/etc/sysconfig/network-scripts/ifcfg-ens33配置PXE Server对应网口的IP为192.168.1.10,子网掩码是255.255.255.0。

步骤2 编辑dhcp配置文件

编辑dhcp配置文件 /etc/dhcp/dhcpd.conf最后面加入下面配置。

vi /etc/dhcp/dhcpd.conf

ddns-update-style none;
ignore client-updates;
default-lease-time 359200;
max-lease-time 800000;
next-server 192.168.1.10;
subnet 192.168.1.0 netmask 255.255.255.0 {
  range dynamic-bootp 192.168.1.20 192.168.1.250;
  filename "uefi/grubx64.efi";
}

设置DHCP IP(根据实际情况设置ip范围)范围为192.168.1.20 ~ 192.168.1.250

next server地址192.1.1.10为本地虚拟机的ip地址

filename指定grubx64.efi作为efi引导文件。

步骤3 启动dhcp服务

保存退出后执行命令systemctl restart dhcpd,检查并确认能够启动服务。

systemctl restart dhcpd

步骤4 设置dhcp开机启动

执行命令chkconfig dhcpd on,开机启动dhcp服务。

chkconfig dhcpd on

4. 配置 tftp 服务

步骤1 配置tftp服务配置

编辑/etc/xinetd.d/tftp 文件,配置如下。

注意:只修改disable为no

vi /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
}

步骤2 修改selinux

修改/etc/sysconfig/selinux文件。

vi /etc/sysconfig/selinux

SELINUX=disabled (系统默认是enforcing,要改成disabled)

步骤3 设置tftp服务开机启动并启动tftp服务

设置tftp服务开机启动并启动tftp服务,然后启动xinetd。

chkconfig tftp on 
systemctl start tftp 
systemctl start xinetd

步骤4 关闭防火墙,设置开启不开启防火墙

systemctl stop firewalld 
systemctl disable firewalld

5. 配置 httpd 服务

步骤1 设置http开机启动服务

执行以下命令设置httpd服务开机启动。

chkconfig httpd on

步骤2 创建ks文件夹

创建ks文件夹存放安装配置

mkdir -p /var/www/html/ks

步骤3 上传ks.cfg

上传ks.cfg到/var/www/html/ks,给它777权限

chmod 777 ks.cfg

ks.cfg文件是linux系统安装成功后生成在/root下面的anaconda-ks.cfg,里面记录着系统安装的设置如安装源、root用户密码、时区、键盘信息、系统语言、字体、分区配置等

步骤4 在# Use hard drive installation media下面把镜像地址改成nfs方式引用(重要)

# Use hard drive installation media nfs --server=192.168.1.10 --dir=/ios/OpenEuler20

步骤5 安装系统自动重启加上reboot命令到ks.cfg里面

步骤6 启动httpd服务

systemctl start httpd

步骤7 验证httpd服务是否启动成功

systemctl status httpd

步骤8 浏览器访问ks.cfg文件

使用浏览器访问http服务地址,能查看到内容即可

http://192.168.1.10/ks/ks.cfg

6、配置nfs服务

步骤1 创建nfs共享文件夹

mkdir -p /ios/OpenEuler20

步骤2 修改/etc/exports

添加下面配置

/ios/ *(rw,sync,no_root_squash,no_subtree_check)

步骤3 重启nfs服务或重新加载配置

systemctl restart nfs 或 exportfs -rv

7. 配置支持 PXE 启动(注意ip修改)

步骤1 镜像挂载

mount /software/openEuler-20.03-LTS-SP1-x86_64-dvd.iso /OpenEuler/OpenEuler20

步骤2 复制镜像文件到nfs共享文件并重启nfs服务

cp -ar /OpenEuler/OpenEuler20/* /ios/OpenEuler20 
systemctl restart nfs

步骤3 配置启动文件

1. 进入在tftpboot目录下创建一个uefi目录,执行以下命令。

cd /var/lib/tftpboot/ && mkdir uefi

步骤4 拷贝grubaa64.efi文件

在安装源(安装镜像)根目录/opt/openeuler下找到EFI目录,拷贝EFI/BOOT/grubaa64.efi到/var/lib/tftpboot/uefi,执行以下命令。

cp /OpenEuler/OpenEuler20/EFI/BOOT/grubx64.efi /var/lib/tftpboot/uefi/

步骤5 拷贝安装源文件到uefi

复制vmlinuz和initrd.img到/var/lib/tftpboot/uefi/目录下,执行以下命令。

cp /OpenEuler/OpenEuler20/images/pxeboot/vmlinuz /var/lib/tftpboot/uefi/ 
cp /OpenEuler/OpenEuler20/images/pxeboot/initrd.img /var/lib/tftpboot/uefi/

步骤6 创建grub.cfg引导文件并编辑

执行以下命令。

cd /var/lib/tftpboot/uefi/ && vi grub.cfg

编辑内容如下

set timeout=60 menuentry 'OpenEuler20' { 
linux uefi/vmlinuz ip=dhcp inst.ks=http://192.168.1.10/ks/ks.cfg inst.resolution=1024x768 initrd uefi/initrd.img }

 inst.ks 为安装配置文件

inst.resolution设置分辨率

p=dhcp设置dhcp动态IP。

步骤7 检查文件是否齐全

执行 ls命令后,若反馈如下文件,即配置完成。

ls /var/lib/tftpboot/uefi

步骤8 配置tftpboot及子目录权限777,执行以下命令。

chmod -R 777 /var/lib/tftpboot/

步骤9 检查各个服务的运行情况

systemctl status dhcpd 
systemctl status tftp 
systemctl status xinetd 
systemctl status httpd

步骤10 服务不正常重启服务命令

systemctl restart dhcpd 
systemctl restart tftp 
systemctl status xinetd 
systemctl restart httpd

8.PXE 自动安装 OS

8.1 Kickstart 介绍

Kickstart 安装提供一个安装过程自动化的方法,可以是部分自动化,也可以是完全自动化。Kickstart 文件包含所有安装程序会问到的问题答案,比如系统中使用的时区、如何对驱动器进行分区、或者应该安装哪些软件包。安

开始时提供一个 Kickstart 文件可进行自动安装,不需要用户介入。可将 Kickstart 文件保存在独立服务器系统中,并由每台计算机在安装过程中读取。这种安装方法可支持单一 Kickstart 文件在多个机器中安装 OS,使其成为

络和系统管理员的理想工具。其余详细介绍可以通过访问说明文档进行了解:https://docs.centos.org/en-US/centos/install-guide/Kickstart2/

8.2 Kickstart 配置文件介绍

Kickstart配置文件分为几个部分,每部分必须按顺序指定。除非特别说明,每部分内的项目则不必按序排列。各部分的顺序为:

● Command 部分——这部分是对OS安装中一些设置项进行设置,分为必选的和可选的,必须在您的 Kickstart 文件中包含必须的选项,这样才能实现全自动安装。使用%addon addon_name 命令,则可在 command 部分使用包含安装程序的扩展功能的 Anaconda 附加组件。

● %packages 部分——这部分为软件包安装,选定安装OS所需的软件。

● %anaconda 部分——可在 Kickstart 文件的 %anaconda 部分配置附加安装选项。这个部分控制安装系统的用户界面行为。

● %pre 和 %post 部分——这两个部分的顺序不限,也不是必须的。

● %pre为预安装部分,可以在解析 Kickstart 文件后、开始安装前立即添加要在该系统运行执行的命令。

● %post为安装后部分,可以在安装完成后、第一次重启前立即添加要在该系统中运行的命令。

详细参考:Kickstart Installations :: CentOS Docs Site

8.3 创建 kickstart 文件(手动编辑ks.cfg)

不熟悉不推荐自己编辑ks.cfg,老老实实的先人工安装一台服务器,并且修改/root/anaconda-ks.cfg文件,然后再进行引用是最稳妥的方法

生成Kickstart配置文件的三种方法:

●每台服务器安装OS后,安装程序会创建一个Kickstart配置文件,并记录真实的安装配置。如果希望实现和某系统类似的安装,可以基于该系统的Kickstart配置文件生成新的Kickstart配置文件。(生成的文件名称为anaconda-ks.cfg位于/root/anaconda-ks.cfg。)

● Centos提供了一个图形化的Kickstart配置工具。在Linux系统上运行该工具,就可以创建Kickstart配置文件。配置命令为system-config-kickstart。

●阅读Kickstart配置文件的手册。用文本编辑器可以创建Kickstart配置文件。

参考:https://docs.centos.org/en-US/centos/install-guide/Kickstart2/

8.5 安装前确认

步骤1

确认必要的文件已经编辑完成检查配置项没有问题,示例如下,包括/var/lib/tftpboot/uefi,/OpenEular/两个目录下文件都已配置完毕。

步骤2

确认各个服务的开启情况,尤其注意/OpenEular文件夹刷新后,建议执行命令service nfs restart重新启动nfs服务刷新该目录。

步骤3

确认防火墙是否已关闭,如果没关闭,可执行命令systemctl stop firewalld 临时关闭。

9、自动安装操作验证

验证是否正常自动安装操作系统

步骤1 创建新的虚拟机(不展示过程)

步骤2 修改虚拟机VMware的引导方式

VMware的默认引导方式是Bios,需要修改为EFI

Bios引导下会出现下面问题,上面显示Clinet IP 为192.168.1.20,说明DHCP服务正常工作已经给虚拟机分配的ip地址。

1、编辑虚拟机设置

2、选项--高级--勾选“UEFI”--“确定”

3、启动虚拟机,正常会出现下图EFI引导

4、出现grub安装界面

5、加载内核加载驱动

6、系统安装自动重启

原文:https://note.youdao.com/ynoteshare/index.html?id=63eb1ebdf8d470f7a037dc9fed54781c&type=note&_time=1654571852198

  • 2
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值