Captain Bob, 2026-10-14: "v4 is the default build", "no, qemu to v4 too ... we are effectively trying to retire v3", "the 32 bit build needs to go into the acceptance test too", "i don't care about v3". - STARFORTH_V4 defaults on (Kconfig default y) and V4_DEFAULT=1 everywhere: every kernel carries v4 and v3 and boots v4; system=v3 boots v3; STARFORTH_V4=0 builds v3 alone. Board images write system=v4. - Acceptance (CLAUDE.md): the three ISAs as built (v4, POST passed, V4_SYSTEM dict_hash equal) and make -C v4 test-32. v3 is not part of it. Acceptance run: amd64, aarch64, riscv64 -- PARITY:V4_POST 538/538, dict_hash=0xe5a57f3eb72ff94a on all three, no unknown word; test-32: 30 suites, 0 failures. The SER5 image under OVMF boots v4 as built, v3 after the one-word edit. README, BRINGUP, FABRIC-3 XLIII, the register updated. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
boards/
One directory per physical target. make boot_image TARGET=<NAME> (repo root) maps the
name to a directory here, reads its board.mk, and builds the single file that goes on
that board's boot medium into build/boards/<board>/.
| TARGET | Directory | ISA | Boot path | Image |
|---|---|---|---|---|
SER5 |
ser5/ |
amd64 | UEFI firmware, removable-media path | GPT + FAT32 ESP: EFI/BOOT/BOOTX64.EFI |
RASPI |
raspi/ |
aarch64 | Pi 5 EEPROM firmware, native | MBR + FAT32: config.txt, kernel_2712.img, bcm2712-rpi-5-b.dtb |
MILKV |
milkv/ |
riscv64 | SPI-flash U-Boot + OpenSBI, bootefi |
GPT + FAT32 ESP: EFI/BOOT/BOOTRISCV64.EFI |
ZYNQ7020 |
zynq7020/ |
armv7 | BootROM, BOOT.BIN, U-Boot |
not yet: needs kernel/src/arch/armv7 |
board.mk sets:
BOARD_DESC: one-line description (make boards)BOARD_ARCH: kernel ISA (kernel/src/arch/<arch>)BOARD_BOOT: image recipe inkernel/Makefile(uefi-esp,rpi-native, ...)BOARD_IMAGE: output file name
Disk images are assembled by scripts/mkdiskimage.sh, which needs no root access and no loop
devices. KERNEL_ARGS="..." is written as starforth.cfg (UEFI boards) or cmdline.txt
(Pi 5, where the firmware copies it into /chosen/bootargs). BOOT_IMAGE_SIZE_MIB sets the
image size; the default is 128.
Hardware status: none of these images has been booted on real silicon from this build. The
SER5 image has been booted in QEMU (q35 + OVMF, from its own disk) through POST. The Pi 5
native path (raspi/README.md) and the JH7110 peripherals have still only been checked by
compiling.