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.
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 git clone https://github.com/Linxira-OS/linxira-iso-direct.git
cd linxira-iso-direct 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.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.
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:
linxira-local: a build-only repository for all supplied artifacts, removed afterward.linxira-offline: the exact target package closure from a fresh build-scoped cache, embedded under /opt/linxira/offline-repo; Calamares uses it without copying that repository configuration into the target.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.
linux plus linux-lts, Plasma, and Shelly.[linxira] repository is appended to the target only after it, so installation never depends on linxira-os.github.io availability.--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.
build-direct-iso.sh takes one --*-package parameter per Linxira self-built package (local .pkg.tar.zst path), plus two path options:
| Option | Description |
|---|---|
--shelly-package | Shelly package (reviewed recommendations and package browsing) |
--calamares-package | Calamares installer package (offline baseline + online candidate manifest) |
--artwork-package | linxira-artwork theming package (wallpapers, etc.) |
--catalog-package | linxira-catalog application catalog package (Catalog v3) |
--components-package | linxira-components backend (root-only; executes one pacman transaction and persists its receipt) |
--component-manager-package | linxira-component-manager (nested capability tree) |
--completion-agent-package | linxira-completion-agent |
--gaming-manager-package | linxira-gaming-manager |
--hwd-detector-package | linxira-hwd-detector hardware detection |
--hardware-driver-manager-package | linxira-hardware-driver-manager |
--recovery-diagnostics-package | linxira-recovery-diagnostics |
--update-package | linxira-update system updater |
--config-hub-package | linxira-config-hub configuration hub |
--package-center-package | linxira-package-center (catalog application installer; creates application plans and confirmations) |
--welcome-package | linxira-welcome welcome screen |
--keyring-package | linxira-keyring signing keyring |
--plymouth-theme-directory | Plymouth theme directory (e.g. ./linxira-plymouth-theme) |
--output | ISO output directory (e.g. ./out) |
The fetch script fetch-linxira-packages.sh uses --output for its download directory (e.g. ./.linxira-packages).
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