通过 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 ./
相关推荐
C_心欲无痕19 分钟前
nginx - 实现域名跳转的几种方式
运维·前端·nginx
suijishengchengde40 分钟前
****LINUX时间同步配置*****
linux·运维
幻云20101 小时前
AI自动化编排:从入门到精通(基于Dify构建AI智能系统)
运维·人工智能·自动化
qiuqyue1 小时前
基于虹软Linux Pro SDK的多路RTSP流并发接入、解码与帧级处理实践
linux·运维·网络
爱跑马的程序员2 小时前
Linux 如何查看文件夹的大小(du、df、ls、find)
linux·运维·ubuntu
代码AI弗森4 小时前
n8n 专题:从“自动化脚本”到“可视化工作流引擎”(自建、节点、Webhook、生产部署)
运维·自动化
oMcLin4 小时前
如何在 Ubuntu 22.04 LTS 上部署并优化 Magento 电商平台,提升高并发请求的响应速度与稳定性?
linux·运维·ubuntu
小李独爱秋5 小时前
计算机网络经典问题透视:TLS协议工作过程全景解析
运维·服务器·开发语言·网络协议·计算机网络·php
liux35285 小时前
Shell自动化编程完全指南
自动化运维
阿甘正赚.5 小时前
Linux初学
linux·运维·服务器