通过 ks.cfg 文件实现 openEuler 系统自动部署

一、环境准备

部署好系统,并准备好工具和文件

bash 复制代码
# 安装软件,创建目录
dnf install xorriso vim -y
mkdir -p /opt/openEuler/

# 将镜像文件 openEuler-24.03-LTS-x86_64-dvd.iso 上传到 /opt 目录下,并解压到指定目录
# 直接用挂载 iso 文件的方式没有试过,效果应该是一样的
xorriso -osirrox on -indev /opt/openEuler-24.03-LTS-x86_64-dvd.iso -extract / /opt/openEuler/

# 复制并编辑 ks.cfg
cp anaconda-ks.cfg /opt/openEuler/isolinux/ks.cfg

二、编辑 ks.cfg 文件

以下是参考文件,各配置项的详细解释可参考官方文档:Red Hat Enterprise Linux | 7 | Red Hat Documentation

bash 复制代码
# Generated by Anaconda 36.16.5
# Generated by pykickstart v3.48
#version=DEVEL
# Use graphical install
graphical

# Keyboard layouts
keyboard --vckeymap=cn --xlayouts='cn'
# System language
lang en_US.UTF-8

# Use CDROM  installation media
cdrom

network --hostname=server

%packages
@^minimal-environment
@standard
%end

# Run the Setup Agent on first boot
firstboot --disable

skipx
services --disable="chronyd"

# Generated using Blivet version 3.8.2
ignoredisk --only-use=sda
autopart --type=lvm
# Partition clearing information
clearpart --none --initlabel

# System timezone
timezone Asia/Shanghai --utc

# Reboot after installation
reboot

# Root password
rootpw --iscrypted $6$o.1XeHSD7HsYuSpA$TtA5I3m4fI2zcDjT.tvBMtLSLJh1soihICDKJFoi82

%post

sed -i "s/ ro / ro crashkernel=1024M,high /" /boot/efi/EFI/openEuler/grub.cfg

%end

三、修改启动引导文件

  1. BIOS 启动文件,只展示需要修改的部分
bash 复制代码
# chmod +w/opt/openEuler/isolinux/isolinux.cfg
#vim /opt/openEuler/isolinux/isolinux.cfg

label linux
  menu label ^Install openEuler 24.03-LTS
  menu default
  kernel vmlinuz
  append initrd=initrd.img inst.ks=cdrom:/isolinux/ks.cfg

label check
  menu label Test this ^media & install openEuler 24.03-LTS
#  menu default
  kernel vmlinuz
  append initrd=initrd.img inst.stage2=hd:LABEL=openEuler-24.03-LTS-x86_64 rd.live.check quiet fpi_to_tail=off

menu separator # insert an empty line
  1. EFI 启动文件,只展示需要修改的部分
bash 复制代码
# chmod +w /opt/openEuler/EFI/BOOT/grub.cfg
# vim /opt/openEuler/EFI/BOOT/grub.cfg

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Install openEuler 24.03-LTS' --class openEuler --class gnu-linux --class gnu --class os {
        linuxefi /images/pxeboot/vmlinuz inst.ks=cdrom:/isolinux/ks.cfg
        initrdefi /images/pxeboot/initrd.img
}
menuentry 'Test this media & install openEuler 24.03-LTS' --class openEuler --class gnu-linux --class gnu --class os {
        linuxefi /images/pxeboot/vmlinuz inst.stage2=hd:LABEL=openEuler-24.03-LTS-x86_64 rd.live.check fpi_to_tail=off
        initrdefi /images/pxeboot/initrd.img
}

四、生成镜像文件

bash 复制代码
cd /opt/openEuler/

# 以下命令中一些参数不是必须的,具体可自行测试
xorriso -as mkisofs -o /opt/openEuler.iso \
-V 'openEuler' \
-partition_cyl_align off \
-partition_offset 0 \
--mbr-force-bootable \
--gpt-iso-not-ro \
-iso_mbr_part_type 0x00 \
-c '/isolinux/boot.cat' \
-b '/isolinux/isolinux.bin' \
-no-emul-boot \
-boot-load-size 4 \
-boot-info-table \
-eltorito-alt-boot \
-e '/images/efiboot.img' \
-no-emul-boot \
-boot-load-size 14064 \
-isohybrid-gpt-basdat \
-R -J -v -T ./
相关推荐
2601_963282774 小时前
极寒专网技术拆解:黑龙江零下 40℃场景数字对讲组网全方案|黑龙江移远科技寒地通信底层技术解析
运维·网络·人工智能·科技
LedgerNinja4 小时前
WEEX API 稳定性实战:限频、重试与风控的工程化清单
运维·区块链
ZJH__GO4 小时前
网络编程v2--多客户端互通
java·运维·服务器·开发语言·计算机网络
Meya11274 小时前
实时采集 + 全域可视化,打造跨站点机房一体化U位管理方案
大数据·运维·人工智能
Gofarlic_OMS4 小时前
NX浮动许可调度黑名单机制,对比两款谁更合理
java·大数据·运维·开源·制造
三言老师5 小时前
CentOS7.9:Redis服务器部署结构化实战教程
linux·运维·服务器·数据库
tiannian12207 小时前
RFID资产管理系统投入产出全拆解:硬件、软件、部署、运维四笔账一次算清
运维·rfid·资产管理系统
我头发多我先学7 小时前
Linux入门:简要认识Linux和基础指令
linux·运维·服务器
Urbano7 小时前
职业工装外套核心缝制工序自动化替代分析与多品牌设备选型报告
运维·自动化
逍遥德7 小时前
运维技术栈Linux+docker+Kubernetes+Jenkins/GitLab CI 知识点详细列表
linux·运维·docker