Files
LithosAnanake/boards
rajamesandClaude Opus 5.5 79db0e8d88 build: v4 is the default build -- every kernel boots v4; acceptance is v4 on three ISAs and the 32-bit build
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>
2026-10-14 17:21:13 -04:00
..

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 in kernel/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.