← Back to Docs

Building the ISO

Linxira OS installation images are built by linxira-iso-direct (Direct-Arch ISO Profile): Arch packages plus pinned local artifacts for Calamares, Shelly, artwork, and Linxira system software produce a development installer ISO that installs fully offline. This page covers fetching the signed packages, running the build, and verifying the artifacts.

1. Prerequisites

Install dependencies

Build dependencies come from the Quick Start of the legacy repository (linxira-iso, deprecated — see History):

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

Clone the repository

git clone https://github.com/Linxira-OS/linxira-iso-direct.git
cd linxira-iso-direct
Building must run on Linux. profile-symlinks.list records the Linux symlinks that cannot be represented reliably when the profile is stored on Windows; the build wrapper recreates them in its temporary Linux profile before invoking mkarchiso.

2. Fetch the signed packages

Download the full self-built package closure (16 packages) reproducibly from the official signed repository https://linxira-os.github.io/linxira-packages/x86_64 into a local artifact directory:

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

This makes official builds reproducible from released artifacts. Local .pkg.tar.zst paths remain supported for third-party packages cached locally; Linxira self-built packages should normally come from the official repo.

3. Build command

Run the full build with the verified local package artifacts (parameters identical to the 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

The wrapper validates each package identity and critical archive path, then copies the profile to a temporary directory and creates two repositories:

Live and target environments install the same Linxira-owned files through pacman; the build never copies sibling working-tree source. The build-only linxira-local stanza is removed from the live pacman configuration before the SquashFS image is created.

Both repositories accept unsigned development packages. Release images must replace them with packages and repository metadata signed by the Linxira signing key (key material is not published on this site).

Image content conventions

4. Artifacts and verification

--output ./out selects the output directory. ISOs are named linxira-YYYY.MM.DD-x86_64.iso (date = build date), each with a matching .sha256 checksum file:

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

Verify a build artifact:

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

Released images live in the iso-release/ directory with a SHA256SUMS manifest, one line per image in the form <sha256 hash>  linxira-YYYY.MM.DD-x86_64.iso.

5. Build options

build-direct-iso.sh takes one --*-package parameter per Linxira self-built package (local .pkg.tar.zst path), plus two path options:

OptionDescription
--shelly-packageShelly package (reviewed recommendations and package browsing)
--calamares-packageCalamares installer package (offline baseline + online candidate manifest)
--artwork-packagelinxira-artwork theming package (wallpapers, etc.)
--catalog-packagelinxira-catalog application catalog package (Catalog v3)
--components-packagelinxira-components backend (root-only; executes one pacman transaction and persists its receipt)
--component-manager-packagelinxira-component-manager (nested capability tree)
--completion-agent-packagelinxira-completion-agent
--gaming-manager-packagelinxira-gaming-manager
--hwd-detector-packagelinxira-hwd-detector hardware detection
--hardware-driver-manager-packagelinxira-hardware-driver-manager
--recovery-diagnostics-packagelinxira-recovery-diagnostics
--update-packagelinxira-update system updater
--config-hub-packagelinxira-config-hub configuration hub
--package-center-packagelinxira-package-center (catalog application installer; creates application plans and confirmations)
--welcome-packagelinxira-welcome welcome screen
--keyring-packagelinxira-keyring signing keyring
--plymouth-theme-directoryPlymouth theme directory (e.g. ./linxira-plymouth-theme)
--outputISO output directory (e.g. ./out)

The fetch script fetch-linxira-packages.sh uses --output for its download directory (e.g. ./.linxira-packages).

6. History

The legacy build repository linxira-iso (forked from CachyOS-Live-ISO) is deprecated: ISO building has migrated to linxira-iso-direct. The old repository is kept for archival reference only and is no longer maintained. Its Quick Start dependency command is the one used in Prerequisites above:

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. Related links