|
RADPx-OS Kernel (Radical Posix OS)
Crimson 0.1.4
POSIX-inspired kernel API with embedded and desktop VM targets
|
This page takes you from a fresh checkout to a running RADPx-OS image on two targets — the x86_64 GRUB terminal and the ZuBoard-1CG (ZynqMP Cortex-A53) under QEMU. It is the narrative companion to the command reference in the repository README; read this first if you have not built RADPx-OS before.
RADPx-OS is a POSIX-inspired kernel (RADKernel) that runs both as a host simulator and on real hardware. The same kernel core boots on x86_64 and on the Cortex-A53; the target-specific pieces live under RADKernel/platforms/ and RADKernel/boards/. Two things you can produce in a few minutes:
cmake and a host C++20 toolchain (for the host kernel tests).qemu-system-aarch64 (for the ZuBoard QEMU smokes).radbuild driver — install the frozen release once:radbuild cross-builds the kernel and userland, assembles the disk images, and runs each target's smoke. You do not need a Python checkout to use it.
The fastest confidence check needs no emulator — it builds the portable kernel core and runs the host unit tests:
A green run here means the kernel core, VFS, and filesystem code compile and pass on your host before you involve any target hardware.
Build and smoke the default x86_64 GRUB terminal profile:
RadBuild resolves settings.json as an OS build configuration, produces the ISO under build/embedded/x86_64_grub_terminal/, and runs the terminal VM smoke. To run just the ISO smoke against an existing build:
The settings.wm.json profile builds the Slint-backed RADCompositor window manager instead of the terminal shell.
The ZuBoard profile cross-builds the A53 kernel and userland, assembles the SD image, and runs the QEMU marker smoke that boots to an interactive serial login:
Once an image exists, you can run the individual A53 smokes directly:
The marker gate reads tools/embedded/rad_zuboard_1cg/expected-markers.txt and requires each RAD_* milestone marker to appear in order on the serial log.
radkernel.h C ABI and how the subsystem headers fit together.docs/radpx-os/0.1.0/api/.