Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Supported Boards

[yoe] describes each target with a machine descriptor: a machine() call that names the architecture, kernel, boot packages, partition layout, and serial console. Select one with --machine <name> on yoe build, yoe flash, and yoe run, or set it in local.star.

This page summarizes every machine [yoe] ships. Each board’s own page covers the boot chain, the BSP units, and how to get a console.

At a glance

BoardMachineSoC / CPUModuleBoot mediaConsoleDistrosStatus
QEMU arm64qemu-arm64QEMU virt, arm64module-corevirtio diskttyAMA0Alpine, Debian, UbuntuBoots; CI-tested
QEMU x86_64qemu-x86_64QEMU q35, x86_64 (KVM)module-corevirtio diskttyS0Alpine, Debian, UbuntuBoots; CI-tested
Raspberry Pi 4raspberrypi4BCM2711, 4x Cortex-A72module-bspmicroSDttyS0, 115200AnyBoots on hardware
Raspberry Pi 5raspberrypi5BCM2712, 4x Cortex-A76module-bspmicroSDttyAMA0, 115200AnyBoots on hardware
BeaglePlaybeagleplayTI AM625, 4x Cortex-A53module-bspeMMC or microSDttyS2, 115200AnyBoots on hardware
Arduino UNO Qarduino-uno-qQualcomm QRB2210, 4x Cortex-A53module-qcomeMMC (EDL / qdl)JCTL headerDebian onlyImage builds; flashing in progress

“Any” means the machine uses one kernel unit for every distro, so its images build for Alpine, Debian, and Ubuntu alike. A machine that lists specific distros names a kernel per distro, and images for other distros are not buildable on it. See distro.md.

QEMU

qemu-arm64 and qemu-x86_64 are the default development and CI targets. They need no hardware and start with yoe run. qemu-x86_64 runs at near-native speed under KVM on an x86 host and boots through SeaBIOS and syslinux, as legacy-BIOS hardware does. qemu-arm64 catches arm64-specific issues; it runs under software emulation on x86 hosts and under KVM on arm64 hosts. Both default to 4 GB RAM and forward SSH to host port 2222.

Details: QEMU Machines.

Raspberry Pi 4 and 5

Both boards share the rpi-firmware unit, the config.txt mechanism, and the partition layout. They differ in the kernel unit (linux-rpi4, linux-rpi5), the DTB, and the serial console device. The GPU firmware loads the kernel directly, with no U-Boot stage. The serial console is on GPIO header pins 8 and 10 and needs a 3.3 V USB-TTL adapter.

Details: Raspberry Pi BSP.

BeaglePlay

BeagleBoard.org’s BeaglePlay runs on the TI AM625. Its boot chain runs from the R5F SPL through TF-A, OP-TEE, and U-Boot to Linux, all built from source by units in module-bsp. It boots from eMMC by default; hold the USR button at power-on to boot from microSD. The board also exposes analog inputs through the IIO subsystem.

Details: BeaglePlay BSP.

Arduino UNO Q

The UNO Q pairs a Qualcomm QRB2210 running Linux with an STM32U585 microcontroller running Zephyr. [yoe] targets the Linux side. The kernel and board packages come from Arduino’s Debian-format vendor feed, so this machine builds Debian images only. The boot firmware is factory-provisioned; [yoe] owns the efi and rootfs partitions. A running board can take package updates over SSH with yoe deploy. Writing a full image over EDL with yoe flash is in progress.

Details: Arduino UNO Q.

Adding a board

A new board needs a machine descriptor and whatever kernel, bootloader, and firmware units its boot chain requires. The closest existing board is usually the best starting point: the Raspberry Pi page describes adding another Pi model, and the BeaglePlay page walks through a full TI K3 boot chain. Contributions of new BSPs are welcome.