Skip to content

Releases: smartobjectoriented/infrabase

Release list

Infrabase v1.0.0

Choose a tag to compare

@daniel-rossier daniel-rossier released this 26 Sep 08:56
20638af

First release of Infrabase, and the first line with a maintenance branch (release/v1.0). It is the build system the SO3, EDGE-M1, MICOFE and course trees are aligned on, as it stood once that alignment was done.

A minimal Linux system, built with BitBake

U-Boot, the kernel, a buildroot root filesystem and the user-space applications, for QEMU virt64 and virt32, the Raspberry Pi 4 (64 and 32-bit), the Toradex Verdin iMX8M Plus and x86 QEMU. Components are fetched from upstream and patched from tracked patch sets. The attach guard refuses to overwrite local edits, and updiff folds them back into the set.

The boot chain is one ordered value

IB_BOOT_CHAIN lists the stages atf, optee, uboot, avz and mcuboot in the order they run. That gives Linux on a bare U-Boot, with ATF, with an OP-TEE secure world, or as a guest of the AVZ hypervisor at EL2. The order is checked, and everything else is derived from the chain: IB_HYPERVISOR, the stage flags, the ITS. Each platform declares the stages it can run (IB_BOOT_STAGES_SUPPORTED), so an impossible combination is refused at parse time.

Deployment

Deployment targets an SD-card image, a real device, or a Toradex Easy Installer network feed served from the tree. The deploy writes filesystem/boot.conf, and st.sh starts QEMU from it. On virt64, U-Boot can be read off the card by the QEMU boot ROM (IB_FIRST_STAGE_FROM_CARD). The user space goes where the running root is: into the ramfs, or onto the rootfs partition.

Containerised build

dbuild.sh runs the build in a container image that carries the cross toolchains and every host package. The tree is bind-mounted and the build runs as the calling user.

Release banner

Every script prints the release it belongs to when it starts ([infrabase v1.0.0] build.sh bsp-linux), taken from the git tag by scripts/ibversion.sh. The documentation derives its version from the same helper. The release process is documented in Release process.

Validation

Built from a fresh tree in the build container on the tagged commit: build.sh bsp-linux and deploy.sh bsp-linux on virt64, then a boot to the login prompt under st.sh.