Command grammar
./build.sh [--dry-run] COMMAND [PACKAGE...]
Package identifiers use stage prefixes such as stage1:gcc, stage2:grub, stage2:manifest, stage3:image, and stage4:curl. Aggregate targets are sdk, stage0 through stage4, base, and all.
--dry-run precedes the command: ./build.sh --dry-run build all.
Selection and execution
| Command | Effect |
|---|
./build.sh menu | Open the interactive top-level console menu. |
|---|
./build.sh list [STAGE] | List packages, optionally filtering stage0 through stage4. |
|---|
./build.sh status [STAGE] | Show package state for all stages or one stage. |
|---|
./build.sh select PACKAGE... | Persist named package selections. |
|---|
./build.sh select-stage STAGE ... | Replace only one stage’s selections. |
|---|
./build.sh unselect [PACKAGE...] | Clear named selections, or all selections when none are supplied. |
|---|
./build.sh build [PACKAGE...] | Build named packages or the persisted selection. Aggregate targets are accepted here. |
|---|
./build.sh build-selected | Build the persisted selection. |
|---|
./build.sh next [STAGE] | Build the next ready unit, optionally in one stage. |
|---|
./build.sh validate [PACKAGE...] | Validate named sources/state or the persisted selection. |
|---|
Policy and configuration
| Command | Effect |
|---|
./build.sh settings show | Display effective deterministic build policy. |
|---|
./build.sh settings set NAME VALUE | Set jobs, load, architecture, optimization, pipe, branch-cost, kernel, or profile policy. |
|---|
./build.sh settings reset | Restore documented defaults. |
|---|
./build.sh kernel-config show | Show selected kernel configuration and SHA-256. |
|---|
./build.sh kernel-config reset-default | Select the Akadata default kernel configuration. |
|---|
./build.sh policy-report [PATH] | Write the per-unit effective build-policy audit. |
|---|
./build.sh clean-targets | Print registered generated paths and markers. |
|---|
./build.sh stage-capability-audit | Regenerate the stage-placement capability report. |
|---|
./build.sh system-config | Configure users, passwords, hostname, IPv4, and IPv6. |
|---|
./build.sh stage2-menuconfig | Open Linux menuconfig explicitly inside the Stage2 chroot. |
|---|
Clean and rebuild
| Command | Effect |
|---|
./build.sh clean TARGET | Clean a unit, stage, base, or all and invalidate dependants. |
|---|
./build.sh rebuild TARGET | Clean, rebuild, and validate a unit, stage, base, or all. |
|---|
Stage3 image and boot
| Command | Effect |
|---|
./build.sh image | Build or validate the Stage3 qcow2 image. |
|---|
./build.sh image-grub-host | Create raw and qcow2 images using host Arch GRUB. |
|---|
./build.sh image-grub-akadata | Create raw and qcow2 images using Akadata-built GRUB. |
|---|
./build.sh image-clean | Explicitly remove the preserved Stage3 raw image. |
|---|
./build.sh boot-raw | Boot the preserved raw image through installed GRUB. |
|---|
./build.sh boot | Boot the Stage3 qcow2 through installed GRUB. |
|---|
./build.sh rescue | Boot the external kernel with akadata-rescue. |
|---|
./build.sh kernel-boot | Compatibility alias for rescue. |
|---|
./build.sh kernel-boot-full | Boot the external kernel with normal /sbin/init. |
|---|
Standards audits
| Command | Effect |
|---|
./build.sh fhs-audit [--source-only|ROOTFS] | Validate the FHS 3.0 source and target-root contract. |
|---|
./build.sh lsb-audit [--source-only|ROOTFS] | Validate the LSB 5.0 compatibility profile. |
|---|
./build.sh standards-audit [--source-only|ROOTFS] | Run both filesystem and compatibility audits. |
|---|
Stage4 managed packages
| Command | Effect |
|---|
./build.sh stage4-status | Show Stage4 package state. |
|---|
./build.sh stage4-select ... | Select Stage4 packages or a named profile. |
|---|
./build.sh stage4-create-keys | Create the APK repository RSA signing key. |
|---|
./build.sh stage4-validate-keys | Validate APK and configured OpenPGP keys. |
|---|
./build.sh stage4-preflight | Audit selected package-build requirements. |
|---|
./build.sh stage4-build | Build selected Stage4 packages only. |
|---|
./build.sh stage4-install | Install selected packages into the derived rootfs. |
|---|
./build.sh stage4-validate | Validate Stage4 structure and derived rootfs. |
|---|
./build.sh stage4-repository | Create and sign the Akadata package repository. |
|---|
./build.sh stage4-image | Explicitly create akadata-stage4.qcow2. |
|---|
./build.sh stage4-boot | Explicitly boot akadata-stage4.qcow2. |
|---|
Settings examples
Use policy values without compiler prefixes
./build.sh settings set jobs 8
./build.sh settings set load 10
./build.sh settings set architecture x86-64-v3
./build.sh settings set optimization O3
./build.sh settings set pipe on
./build.sh settings set gcc-branch-cost off
./build.sh settings set kernel default
./build.sh settings set kernel custom /absolute/path/to/kernel.config
./build.sh settings set profile performance
| Setting | Accepted values |
|---|
jobs | Integer from 1 through 1024 |
|---|
load | Number greater than 0 and no greater than 1024 |
|---|
architecture | x86-64, x86-64-v2, x86-64-v3, or x86-64-v4 |
|---|
optimization | O0, Og, O1, O2, O3, Os, or Oz |
|---|
pipe | on or off |
|---|
gcc-branch-cost | on or off; optional and off by default |
|---|
kernel | default, or custom followed by an absolute path |
|---|
profile | conservative or performance |
|---|
Use O3, not -O3, and x86-64-v3, not x86_64-v3. Invalid saved policy can be recovered with ./build.sh settings reset; help remains available.