This commit is contained in:
smart
2025-12-04 18:12:44 +08:00
commit 7f9c9e9fff
5 changed files with 376 additions and 0 deletions

60
build-rocky9-livecd.sh Normal file
View File

@@ -0,0 +1,60 @@
#!/bin/bash
# 定义一些变量,方便修改和管理
BASE_DIR="/home/smart/rocky9-livecd"
RESULTS_DIR="results"
ISO_BUILD_DIR="iso-build" # 新的ISO存放目录
KS_FILE="kickstarts/my.ks"
ISO_NAME="Rocky-9-Custom-LiveCD-LocalRepo-x86_64.iso"
PROJECT_NAME="Rocky Linux 9 Custom LiveCD (Local Repo)"
RELEASE_VER="9"
VOL_ID="Rocky_9_LiveCD_Local"
BOOT_ISO="/home/smart/Rocky-9.7-x86_64-boot.iso"
# 切换到工作目录
cd "${BASE_DIR}" || { echo "错误:无法切换到目录 ${BASE_DIR}"; exit 1; }
# 清理旧的 results 目录
echo "清理旧的 ${RESULTS_DIR} 目录..."
rm -rf "${RESULTS_DIR}"
# 确保 iso-build 目录存在
echo "检查并创建 ${ISO_BUILD_DIR} 目录..."
mkdir -p "${ISO_BUILD_DIR}" || { echo "错误:无法创建目录 ${ISO_BUILD_DIR}"; exit 1; }
echo "开始执行 livemedia-creator..."
sudo livemedia-creator \
--ks "${KS_FILE}" \
--resultdir "${RESULTS_DIR}" \
--tmp tmp \
--make-iso \
--iso-name "${ISO_NAME}" \
--project "${PROJECT_NAME}" \
--releasever "${RELEASE_VER}" \
--volid "${VOL_ID}" \
--iso "${BOOT_ISO}"
# 检查 livemedia-creator 是否成功执行
if [ $? -eq 0 ]; then
echo "livemedia-creator 执行成功。"
# 获取当前时间,格式为 年-月-日-时-分
TIMESTAMP=$(date +"%Y-%m-%d-%H-%M")
NEW_RESULTS_DIR_NAME="${RESULTS_DIR}-${TIMESTAMP}"
echo "${RESULTS_DIR} 移动并重命名为 ${ISO_BUILD_DIR}/${NEW_RESULTS_DIR_NAME}..."
mv "${RESULTS_DIR}" "${ISO_BUILD_DIR}/${NEW_RESULTS_DIR_NAME}"
if [ $? -eq 0 ]; then
echo "操作完成。新的结果目录位于:${ISO_BUILD_DIR}/${NEW_RESULTS_DIR_NAME}"
echo "生成的 ISO 文件通常在 ${ISO_BUILD_DIR}/${NEW_RESULTS_DIR_NAME}/images 目录下。"
else
echo "错误:移动或重命名 ${RESULTS_DIR} 失败。"
exit 1
fi
else
echo "错误livemedia-creator 执行失败。"
exit 1
fi
echo "脚本执行完毕。"