Files
Hydra-OS/image/README.md
T

2.1 KiB

HydraOS builds start from the pinned amd64 systemd stage3 and pinned Gentoo repository in sources.json. Run the builder as the normal user with Python 3, Podman and GnuPG available; temporary tool environments are sufficient. It refuses host root and work/cache paths outside the primary project checkout.

scripts/hydra-build fetch
scripts/hydra-build prepare
scripts/hydra-build packages --pretend
scripts/hydra-build packages
scripts/hydra-build status

--work PATH, --cache PATH, --podman PATH and --gpg PATH override defaults. Linked worktrees use the primary checkout's build/ and cache/. The build lock prevents simultaneous writes in the same work directory. Interrupted package installation resumes through Portage; successful steps write build/manifest.json, signature evidence and the installed package/version/USE inventory in build/artifacts/. Downloaded inputs are reverified on every prepare; missing or changed files cannot be trusted from a checkpoint alone.

The dedicated rootless Podman store is build/podman, separate from default Podman and Distrobox storage. The build container mounts inputs and repository read-only and retains its writable layer across failures. Host networking makes the existing local VPN/proxy available. SYS_ADMIN operates within the rootless user namespace; package sandbox features incompatible with it are disabled. No host disks or /dev/kvm are passed into the builder. Hydra never prunes containers/images or changes host services.

Official Gentoo binpkgs require signatures. USE mismatches and selective testing keywords can cause source builds; concurrency is four compiler processes and one emerge job. Keep licenses and Portage's /var/db/pkg, world and repository for installed-system updates. Rolling binhost contents can change; resulting versions/USE are recorded without claiming bit-identical output. The pinned service-keyring hash may need deliberate review when Gentoo rotates keys.

rootfs and iso are reserved assembly commands and currently return an explicit error until the live-image assembly implementation is integrated.