boards/BRINGUP.md R2/R3, FABRIC-3 SXXXIX. The entry stub cleans the cache over the image, builds an identity map (the image's GiB Normal, the rest Device) and enables MMU and caches at EL2 (or EL1); rpi5_mmu.c makes the devicetree's RAM Normal and the framebuffer uncached. Mailbox waits give up after one second; the buffer is cleaned around the exchange; the framebuffer address goes through dma-ranges, not a Pi 4 mask. New rpi5-rehearsal target runs the native image on QEMU virt at EL2. It found three more that would each have stopped the board: the PL011 shift (mine, c9519173; the host test asserted it), the GIC address not carried through /soc's ranges (new fdt_reg_address(), checked against the real Pi 5 DTB), and no timer IRQ at EL2 (HCR_EL2.IMO/FMO/AMO). Rehearsal: POST 1052 passed, same parity hash as UEFI. Standard acceptance on three ISAs: POST 1052, hash 0x82f4ae7cb2e2d424. 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.