← Back to Blog
MILESTONE · 0.7.0 · KERNEL · BOOT

Pi Login Boot Image — Real Pi3B Parity with x86

kernelbootpi3bloginreal-silicon0.7.0

pi_login.sg is the arm analog of m3login.sg — the SAME render-only login closure (OS scene → SRDX wire → Video composite) that runs on x86, but the framebuffer comes from board_pi3's VideoCore mailbox (proven on real Pi 3B hardware) instead of the x86 EFI GOP handoff. kernel8-login.img is the real Pi boot target — host.img was only the FB test card. Director directive.

Pi login boot image

pi_login.sg
Render-only login closurepi_login fills the shared SIGILOS_BOOT struct from the VideoCore mailbox geometry so one ABI feeds one login renderer on both architectures. Build: build_pi_login() compiles via cc0 armout/kernel8-login.img. QEMU verification: qemu-system-aarch64 -M raspi3b, PL011 output: PILOGIN wl=397 nw=1 px=4281012757 ok=1 (px!=0 = login card painted into framebuffer). Wired into main().
Architecture parity
One ABI, two arches — x86 path: EFI GOP → SIGILOS_BOOT → login renderer. Pi path: VideoCore mailbox → SIGILOS_BOOT → same login renderer. The login screen is visually identical on both platforms. Interactive typed auth is the dwc2 follow-up — Pi 3B USB is dwc2/dwc-otg (not xHCI), so HID host is a Sigil-Drivers deliverable. This commit is the render target (visual login parity); the keyboard path wires in once dwc2 lands.