RadBuild 0.2.1

Settings Fields

Settings Fields

RadBuild projects use settings.json with schema v2. Packaged templates live in the RadBuild payload and are selected by radbuild project create --template.

Top-Level Fields

System Fields

Common Config Fields

Provider Config Fields

The machine-readable catalog is packaged as radbuild/schemas/project-fields-v0.2.1.json.

When os.radpx.radpm.packagegroups or os.radpx.radpm.packages is set, RadBuild resolves the selected metadata, verifies signed .radpm archives when signatures are required, stages package payloads into the generated RADPx root filesystem, and reuses development payloads for the exported SDK. Packagegroups select complete feature sets such as radpx-terminal-base, while direct packages are intentionally explicit. Missing dependencies are reported with the available packagegroup or package that can satisfy them. The menuconfig interface exposes source, packagegroup selection, package selection, and SDK settings; non-interactive flows can use --set-source KEY=VALUE, --enable-packagegroup, --disable-packagegroup, --enable-package, --disable-package, and --set-sdk KEY=VALUE.

RADPx Configuration Detail

os.radpx.source accepts either a local checkout or a Git repository:

{
  "type": "git",
  "url": "https://github.com/Radical-Computer-Technologies/RADPx-OS.git",
  "branch": "crimson-v0.1.3",
  "checkout_dir": ".radmeta/sources/RADPx-OS",
  "update": true,
  "depth": 1
}

os.radpx.rkconfig is copied into the image build environment. Common fields include hostname, root_password, rootfs_size_mb, terminal font/theme settings, terminal autocomplete, POSIX terminal compatibility, Vim/ncurses toggles, static IPv4 settings, DNS, NTP server/port, timezone, max process counts, and kernel task stack sizing.

os.radpx.radpm points at a RadicalPackages repository or release mirror:

{
  "repository": "https://github.com/Radical-Computer-Technologies/RadicalPackages/releases/download/radpx-os-0.1.4-beta.1",
  "suite": "experimental",
  "packagegroups": ["radpx-terminal-base", "radpx-networking"],
  "packages": [],
  "verify_signatures": true,
  "allow_unsigned": false
}

Prefer packagegroups for normal images. Use direct packages for narrow experiments, overlays, and debugging. RadBuild reports unmet dependencies and the packagegroup or package that can satisfy them; it does not silently add dependencies to the project file.

os.radpx.sdk.enabled=true exports a sysroot and wrapper scripts suitable for cross-compiling RADPx userspace ports against the staged headers and libraries.

Linux Provider Detail

linux.petalinux expects an installed Xilinx/PetaLinux environment. RadBuild does not vendor Xilinx tools. It records the XSA handoff, selected template, module list, firmware globs, BSP release directory, and deploy target so the same project graph can be regenerated and rebuilt.

linux.buildroot expects Buildroot to be available on the host or through the project's own tooling. RadBuild generates the external-tree location and graph metadata; board package policy remains in the Buildroot external tree.