# Raspberry Pi 5 native boot media `make boot_image TARGET=RASPI` builds `build/boards/raspi/lithos-raspi.img`: an MBR disk with one FAT32 (LBA) partition. Write it to an SD card with `dd`. The partition holds: - `config.txt`: checked in here (FABRIC-3.md §IV.3 item 6). It pins `kernel_address=0x80000` because Pi 5 firmware loads `kernel_2712.img` at 0x200000 by default. - `kernel_2712.img`: the aarch64 kernel objects relinked at 0x80000 by `kernel/linker/starkernel-native-rpi5.ld`, entered at `rpi5_native_start` (`kernel/src/arch/aarch64/native_rpi5_entry.S`, which zeroes `.bss` first), and flattened with `objcopy -O binary`. - `bcm2712-rpi-5-b.dtb`: the Raspberry Pi firmware's own stock DTB. It is not built by this project; it is fetched once from the firmware release pinned in `board.mk` (`RPI_FIRMWARE_TAG`) into `build/cache/`. To use a local copy, pass `RPI5_DTB=/path/to/dtb`. - `cmdline.txt`: only present when `KERNEL_ARGS="..."` is given. The firmware copies it into `/chosen/bootargs`, which `rpi5_native_boot()` parses. Not yet verified on hardware. The native path still assumes everything `kernel_main()` needs after a UEFI handoff. The firmware enters at EL2 with the MMU off, which is not what UEFI hands over, and that difference has not been exercised.