# oc-live **Repository Path**: zixt/oc-live ## Basic Information - **Project Name**: oc-live - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-23 - **Last Updated**: 2026-08-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # OpenCloudOS Live Desktop Compose 版本见 `VERSION`。Kickstart + **livemedia-creator**;Koji 用 `spin-livemedia`。 ```text kickstarts/desktop-live.ks # 入口(%include) kickstarts/cloud-desktop.ks # qcow2 云桌面入口(不含 Live 安装器) modules/ # 会话 / 源 / 包 / %post vendor/orchis-oc-gtk-theme/ vendor/opencloudos-gnome-desktop-integration/ scripts/compose-livemedia.sh scripts/flatten-kickstart.sh ``` ## 本地 ```bash sudo dnf install -y lorax anaconda anaconda-tui cd /path/to/oc-live-compose sudo bash scripts/compose-livemedia.sh # → out/livemedia/OC-LIVE-TEST.iso ``` 须 **`--no-virt`**(脚本已带)。Koji / 本地都请用 **flatten 后的 ks**(内嵌 vendor);不要假定 `%post` 能读到 git 工作树。 踩坑记录:[`docs/细碎修改说明.md`](docs/细碎修改说明.md)。 ## Cloud Desktop(qcow2) `kickstarts/cloud-desktop.ks` 以 `modules/cloud/00-cloud-common.ks` 为公共 云基座,复用桌面、字体、GNOME 扩展和主题模块,但不包含 Live ISO、`liveinst` 或安装后清理钩子。其 Common / Common-Final 的组织形态与 TencentOS 公共云 Kickstart 对齐,便于审计。 qcow2 使用 Koji `image-build`,而不是 `spin-livemedia`。Koji 任务由外部 构建配置提交;本仓库只在本地自动展平入口、将 vendor 资源内嵌进提交给 Koji 的单文件 KS: ```bash ENTRY=kickstarts/cloud-desktop.ks \ OUT=kickstarts/cloud-desktop.flattened.ks \ bash scripts/flatten-kickstart.sh ``` Koji 的 `image-build` 配置应使用该展平文件,指定 qcow2 格式,并提供 build target、installation tree、架构和磁盘大小。该入口要求构建器提供 `/dev/vda`, 并由 Koji 的 ImageFactory/Oz 在虚拟机中运行 Anaconda。现有 `compose-livemedia.sh` 仅产出 Live ISO,不能用于 qcow2。 展平是本地自动步骤,不是手工编辑:`scripts/flatten-kickstart.sh` 会解析 `%include` 并内嵌 vendor 资源,避免 Koji builder 的 `%post --nochroot` 无法 读取工作树。云入口不写 Kickstart `url` 或 `repo` 指令;Koji 的 build target 或外部 `--repo` 负责控制所有 RPM 来源,EPOL 依赖也必须由该外部配置提供。 云桌面基础镜像默认进入 GDM,未预置自动登录、VNC 密码或 noVNC 公网监听; 远程访问应作为带 TLS 和访问控制的独立 profile 叠加。 ## Koji 展平 ks + 整仓进 SCM 后 `spin-livemedia`。**必须用 `*.flattened.ks`**:flatten 会把 `vendor/` 打进 ks(Koji 上 `%post` 的 cwd 是 `/`,读不到仓内路径)。 GNOME 扩展由软件源 RPM 安装,包清单在 `modules/packages/20-desktop-base-noepol.ks`,并由 `post/31` 启用。 桌面整合:`vendor/opencloudos-gnome-desktop-integration/`(`bash scripts/vendor-opencloudos-desktop-integration.sh`),由 `post/35` 在 stock 扩展之后最后安装。 GTK 主题:`vendor/orchis-oc-gtk-theme/`(`bash scripts/vendor-orchis-oc-gtk-theme.sh`,需 sassc),由 `post/34` 装在 35 之前。