通过 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 ./
相关推荐
wanhengidc1 小时前
深度了解云手机是什么
运维·服务器·科技·智能手机·云计算
python百炼成钢1 小时前
28.嵌入式 Linux LED 驱动开发实验
linux·运维·驱动开发
BullSmall5 小时前
Test Matrix:测试矩阵(IT 领域定义 + 设计实践 + 华为场景应用)
运维·服务器
liuyao_xianhui5 小时前
版本控制器git--gdb/cgdb
linux·运维·服务器·git
CS_浮鱼5 小时前
【Linux进阶】mmap实战:文件映射、进程通信与LRU缓存
linux·运维·c++·缓存
xu_yule6 小时前
Linux_16(多线程)信号量+基于环形队列的生成消费模型+自选锁+读写锁
linux·运维·服务器
行初心6 小时前
uos基础 systemctl 查看unit的详细配置
运维
eyuiomvtywn6 小时前
阿里云DNS解析Vercel部署项目的域名
运维·服务器·阿里云
4t4run6 小时前
25、Linux 特殊权限
linux·运维
S***y3966 小时前
DevOps监控告警体系
运维·devops