通过 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 ./
相关推荐
云智慧AIOps社区1 小时前
MSP 的增长瓶颈不在客户,在交付模式:人效与规模如何兼得?
运维·人工智能·自动化运维
HAHAXX81 小时前
淘宝RPA定时拉取交易数据实战:从人工录单报错到自动化对账全流程复盘
运维·自动化·rpa
Coisinier2 小时前
docker命令管理镜像及容器
linux·运维·nginx·docker·容器·操作系统
fengkai45453 小时前
十三、Zabbix 监控
运维·服务器·zabbix·监控·网络设备
古法老登瞎折腾3 小时前
大数据智能运维实战(二):准备一个可复现的运维实验环境
java·大数据·运维·spring ai·mcp
数据中心的那点事儿3 小时前
艾特网能:GPU算力服务器冷却系统配套设计介绍
运维·服务器·gpu算力
广州灵眸科技有限公司3 小时前
单芯片同时跑 Linux 与 RT-Thread:RV1126B的AMP异构方案完整拆解
linux·运维·服务器
xixiaoyunya4 小时前
把网站状态巡检自动化:从“每天手动刷一遍”到秒级无人值守
运维·自动化
有毒的教程4 小时前
Linux底层存储路由配置
linux·运维·网络
霍格沃兹测试学院-小舟畅学4 小时前
Playwright MCP:基于页面语义理解的元素定位与浏览器自动化操作
运维·自动化