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
| Board | Machine | SoC / CPU | Module | Boot media | Console | Distros | Status |
|---|---|---|---|---|---|---|---|
| QEMU arm64 | qemu-arm64 | QEMU virt, arm64 | module-core | virtio disk | ttyAMA0 | Alpine, Debian, Ubuntu | Boots; CI-tested |
| QEMU x86_64 | qemu-x86_64 | QEMU q35, x86_64 (KVM) | module-core | virtio disk | ttyS0 | Alpine, Debian, Ubuntu | Boots; CI-tested |
| Raspberry Pi 4 | raspberrypi4 | BCM2711, 4x Cortex-A72 | module-bsp | microSD | ttyS0, 115200 | Any | Boots on hardware |
| Raspberry Pi 5 | raspberrypi5 | BCM2712, 4x Cortex-A76 | module-bsp | microSD | ttyAMA0, 115200 | Any | Boots on hardware |
| BeaglePlay | beagleplay | TI AM625, 4x Cortex-A53 | module-bsp | eMMC or microSD | ttyS2, 115200 | Any | Boots on hardware |
| Arduino UNO Q | arduino-uno-q | Qualcomm QRB2210, 4x Cortex-A53 | module-qcom | eMMC (EDL / qdl) | JCTL header | Debian only | Image 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.