Hasty Briefsbeta

Bilingual

Oxide RFD 284: Loading the Host Operating System

7 hours ago
  • The Pico Host Boot Loader (phbl) is the component responsible for loading and starting the host OS image on Oxide machines.
  • phbl is loaded from SPI flash by the PSP after DRAM training and runs from the BSC reset vector, bringing the processor to 64-bit mode.
  • It loads a compressed CPIO archive (ZLIB) containing the host kernel, extracts the ELF image, loads it into RAM, and calls the kernel's entry point.
  • Virtual memory mappings use the largest possible page sizes (1GiB, 2MiB, 4KiB) and respect segment protection bits; UART is mapped uncached.
  • phbl minimizes system state changes, passing only the CPIO archive's physical address and length to the kernel, and maintains a defined system state on entry.
  • The current implementation compresses the boot archive into the phbl image, but future separation is possible without backward compatibility concerns.
  • Security relies on the service processor validating host images in flash; phbl performs no runtime verification.

Related

Loading…