← 返回文档

构建 ISO

Linxira OS 的安装镜像由 linxira-iso-direct(Direct-Arch ISO Profile)构建:以 Arch 软件包加固定版本的本地产物(Calamares、Shelly、artwork、Linxira 系统软件)产出可离线安装的开发安装镜像。本页说明获取已签名包、执行构建并校验产物。

1. 前置准备

安装依赖包

构建依赖沿用旧版仓库(linxira-iso,已废弃,见历史一节)Quick Start 所列软件包:

sudo pacman -S archiso mkinitcpio-archiso git squashfs-tools grub --needed

克隆仓库

git clone https://github.com/Linxira-OS/linxira-iso-direct.git
cd linxira-iso-direct
构建须在 Linux 环境下执行。profile-symlinks.list 记录了 Windows 上无法可靠保存的 Linux 符号链接,构建包装脚本会在调用 mkarchiso 前于临时 Linux profile 中重建它们。

2. 获取已签名包

从官方签名仓库 https://linxira-os.github.io/linxira-packages/x86_64 可复现地获取完整自研包闭包(16 个包),下载到本地产物目录:

./scripts/fetch-linxira-packages.sh --output ./.linxira-packages

这样官方构建可从已发布产物复现。本地 .pkg.tar.zst 路径仍然受支持(用于本地缓存的第三方包);Linxira 自研包通常应来自官方仓库。

3. 构建命令

使用已校验的本地包产物执行完整构建(参数与 README.md 一致):

./build-direct-iso.sh \
  --shelly-package ./.linxira-packages/shelly-*.pkg.tar.zst \
  --calamares-package ./.linxira-packages/calamares-*.pkg.tar.zst \
  --artwork-package ./.linxira-packages/linxira-artwork-*.pkg.tar.zst \
  --catalog-package ./.linxira-packages/linxira-catalog-*.pkg.tar.zst \
  --components-package ./.linxira-packages/linxira-components-*.pkg.tar.zst \
  --component-manager-package ./.linxira-packages/linxira-component-manager-*.pkg.tar.zst \
  --completion-agent-package ./.linxira-packages/linxira-completion-agent-*.pkg.tar.zst \
  --gaming-manager-package ./.linxira-packages/linxira-gaming-manager-*.pkg.tar.zst \
  --hwd-detector-package ./.linxira-packages/linxira-hwd-detector-*.pkg.tar.zst \
  --hardware-driver-manager-package ./.linxira-packages/linxira-hardware-driver-manager-*.pkg.tar.zst \
  --recovery-diagnostics-package ./.linxira-packages/linxira-recovery-diagnostics-*.pkg.tar.zst \
  --update-package ./.linxira-packages/linxira-update-*.pkg.tar.zst \
  --config-hub-package ./.linxira-packages/linxira-config-hub-*.pkg.tar.zst \
  --package-center-package ./.linxira-packages/linxira-package-center-*.pkg.tar.zst \
  --welcome-package ./.linxira-packages/linxira-welcome-*.pkg.tar.zst \
  --keyring-package ./.linxira-packages/linxira-keyring-*.pkg.tar.zst \
  --plymouth-theme-directory ./linxira-plymouth-theme \
  --output ./out

包装脚本会校验每个包的标识与关键归档路径,然后把 profile 复制到临时目录并创建两个仓库:

Live 与目标环境通过 pacman 安装相同的 Linxira 自有文件;构建从不复制工作树源码。构建专用的 linxira-local 段会在创建 SquashFS 镜像前从 live pacman 配置中移除。

两个仓库均接受未签名开发包。发布镜像必须改用 Linxira 签名密钥签名的包与仓库元数据(密钥材料不在网站上公布)。

镜像内容约定

4. 产物与校验

--output ./out 指定输出目录,ISO 命名遵循 linxira-YYYY.MM.DD-x86_64.iso(日期为构建日期),并伴随同名 .sha256 校验文件:

out/
├── linxira-2026.08.14-x86_64.iso
└── linxira-2026.08.14-x86_64.iso.sha256

校验构建产物:

cd out
sha256sum -c linxira-2026.08.14-x86_64.iso.sha256

发布镜像由 iso-release/ 目录管理,随附 SHA256SUMS 汇总清单,每行格式为 <sha256 哈希>  linxira-YYYY.MM.DD-x86_64.iso

5. 构建选项说明

build-direct-iso.sh 通过 --*-package 参数注入各 Linxira 自研包(.pkg.tar.zst 本地路径),另有两个路径选项:

参数说明
--shelly-packageShelly 包(审核推荐与包浏览)
--calamares-packageCalamares 安装器包(离线 baseline + 在线候选清单)
--artwork-packagelinxira-artwork 主题资源包(壁纸等)
--catalog-packagelinxira-catalog 应用目录包(Catalog v3)
--components-packagelinxira-components 组件后端(仅 root,执行一次 pacman 事务并持久化回执)
--component-manager-packagelinxira-component-manager 组件管理器(嵌套能力树)
--completion-agent-packagelinxira-completion-agent 补全代理
--gaming-manager-packagelinxira-gaming-manager 游戏管理器
--hwd-detector-packagelinxira-hwd-detector 硬件检测
--hardware-driver-manager-packagelinxira-hardware-driver-manager 硬件驱动管理器
--recovery-diagnostics-packagelinxira-recovery-diagnostics 恢复诊断
--update-packagelinxira-update 系统更新
--config-hub-packagelinxira-config-hub 配置中心
--package-center-packagelinxira-package-center 软件中心(目录式应用安装器,创建应用计划与确认)
--welcome-packagelinxira-welcome 欢迎页
--keyring-packagelinxira-keyring 签名密钥环
--plymouth-theme-directoryPlymouth 主题目录(示例 ./linxira-plymouth-theme
--outputISO 输出目录(示例 ./out

包获取脚本 fetch-linxira-packages.sh 使用 --output 指定下载目录(示例 ./.linxira-packages)。

6. 历史

旧版构建仓库 linxira-iso(fork 自 CachyOS-Live-ISO)已废弃:ISO 构建已迁移至 linxira-iso-direct。旧仓库仅保留历史参考,不再维护。其 Quick Start 的依赖安装命令即上文前置准备所用:

sudo pacman -S archiso mkinitcpio-archiso git squashfs-tools grub --needed
git clone https://github.com/Linxira-OS/linxira-iso.git
cd linxira-iso
sudo ./buildiso.sh -p desktop -v -w

7. 相关链接