Akadata Linux · Version 0 Saphira

Controlled build guide

The supported aggregate, package, validation, image, and Stage4 workflows exposed by the current build controller.

Technical preview

Top-level controller

Build through build.sh

The supported entry point is ./build.sh [--dry-run] COMMAND [PACKAGE...]. Aggregate targets belong after the build command; they are not standalone shell commands.

./build.sh build sdk
./build.sh build stage0
./build.sh build stage1
./build.sh build stage2
./build.sh build stage3
./build.sh build stage4
./build.sh build base
./build.sh build all

Aggregate targets

Choose the boundary you intend to complete

Aggregate build targets
TargetController effectCommand
sdkConstruct the cross-development SDK../build.sh build sdk
stage0Run the Stage0 SDK acceptance boundary and manifest../build.sh build stage0
stage1Build the complete bootstrap rootfs package set../build.sh build stage1
stage2Build the complete native final-system package set../build.sh build stage2
stage3Build and validate the Stage3 image unit../build.sh build stage3
stage4Build every Stage4 unit, install packages, create the repository and image, then validate../build.sh build stage4
baseRun SDK through Stage3 in dependency order../build.sh build base
allRun SDK through Stage4 in dependency order../build.sh build all

sdk constructs the cross-development SDK. stage0 is the separate acceptance and manifest boundary. base ends at the accepted Stage3 image; all continues through Stage4.


Controlled full run

Inspect, dry-run, then build

Status and settings are read-only. The dry run prints the planned trajectory without compiling, cleaning, imaging, or booting.

./build.sh status
./build.sh settings show
./build.sh --dry-run build all
./build.sh build all

The default policy is two jobs, load limit two, x86-64-v3, O3, and pipe=on. Use ./build.sh settings set profile performance when the host should use its calculated performance parallelism.


Resume and repair

Operate on the smallest meaningful unit

Package identifiers carry a stage prefix. Completion markers and fingerprints allow the controller to skip accepted work and identify the next ready unit.

./build.sh status stage2
./build.sh next stage2
./build.sh rebuild stage2
./build.sh validate stage2:manifest

rebuild performs clean, rebuild, and validation for the requested unit or aggregate, while invalidating dependent evidence. Use it only when that destructive scope is intended.


Stage4 lower-level workflow

Use explicit actions when developing the package layer

./build.sh build stage4 is the aggregate route. The following lower-level commands are useful when developing, diagnosing, or deliberately separating Stage4’s package, repository, install, image, and validation operations.

./stage4/fetch-sources.sh --missing
./stage4/fetch-sources.sh --fetch
./stage4/fetch-sources.sh --verify
./build.sh stage4-create-keys
./build.sh stage4-validate-keys
./build.sh stage4-select akadata-stage4-server
./build.sh stage4-preflight
./build.sh stage4-build
./build.sh stage4-install
./build.sh stage4-repository
./build.sh stage4-image
./build.sh stage4-validate

Source fetching is the only network-acquisition step and remains outside build.sh. Stage4 build, install, repository, image, validation, and boot actions remain independently callable.


Images and boot

Creation and execution remain separate

./build.sh image
./build.sh image-grub-akadata
./build.sh boot
./build.sh rescue
./build.sh stage4-image
./build.sh stage4-boot

image builds or validates the Stage3 qcow2. boot uses its installed GRUB. rescue uses the external kernel and bypasses normal OpenRC/password startup. Stage4 has its own derived image and explicit boot command.