Build Instructions
Quick Start
Dependencies
Build Modes
| Build Flag |
Target |
Use Case |
Time |
| (none) |
SD Card (default) |
Development / testing |
30-45 min |
--skip-kernel |
SD Card (stock kernel) |
Quick iteration |
10-15 min |
--target usb |
USB 3.0 SSD |
Portable, shares USB with audio |
30-45 min |
--target nvme |
NVMe HAT |
Production — PCIe, no bus contention |
30-45 min |
--kernel-only |
Kernel only |
Custom RT kernel builds |
10-15 min |
Flashing
Linux
macOS
Windows
Use Raspberry Pi Imager or balenaEtcher.
Configuring EEPROM Boot Order
The RPi4B boots from SD card by default. To boot from USB or NVMe, configure the EEPROM once:
| Boot Order |
Sequence |
BOOT_ORDER=0xf41 |
USB → SD → Restart |
BOOT_ORDER=0xf614 |
NVMe → USB → SD → Restart |
First-Boot Bootstrap
Without a working SD card, flash RPiOS Lite to a temporary SD, boot, configure EEPROM, then switch to your USB/NVMe drive.
Boot Device Codes
0x0 = SD Card (SDIO)
0x1 = USB Mass Storage
0x2 = NVMe (PCIe)
0x6 = Network (PXE)
0xf = Stop/Restart
First Boot
The setup wizard runs automatically and configures:
- Audio interface detection
- WiFi network
- Hostname
- API key
- JACK buffer/latency
- EEPROM boot order (USB/NVMe option)