Broadcom Boards¶
REG Linux builds for the Broadcom family (Raspberry Pi 1/2/3/4/5 and Compute Modules) reuse a consistent layout: each SoC directory provides kernel configs, overlays, create-boot-script.sh, genimage.cfg, DTBs, and patch bundles that stage Image, firmware, and updates before genimage writes the bootable image.
Supported devices¶
bcm2711: Raspberry Pi 4 / Compute Module 4 / Pi 400bcm2712: Raspberry Pi 5 / Pi 500bcm2837: Raspberry Pi 3 / Zero 2bcm2836: Raspberry Pi 2bcm2835: Raspberry Pi 1 / Zero
Key layouts¶
BCM2711 (Pi 4 / CM4 / Pi 400)¶
- Boot scripts stage
Image, modules, firmware, initramfs, DTBs, andboot/config.txt/cmdline.txttweaks (64-bit mode, DRM/KMS helpers,elevator=deadline,rootwait,noswap, etc.). genimage.cfgproduces a 2 GiBREGLINUXFAT32 boot volume plus a 256 MiBuserdatashare partition.- Overlay forces
snd_seq,i2c_dev, and any helper files required by the board, whilepatches/keeps GroovyMAME, Libretro Yabause, and Sugarbox compatible with the DRM-only GPUs. - Kernel configuration:
linux-broadcom64-current.config.
BCM2712 (Pi 5 / Pi 500)¶
- Board scripts stage the Pi 5
ubootblobs and install thepironman5overlay that sets HDMI/audio defaults. fsoverlay/etc/modules.confensuressnd_seq/i2c_devare loaded alongside firmware helpers.- Board-specific patches in
patches/keep GroovyMAME/Libretro/Sugarbox stable as the FPGA driver stack evolves. - Kernel configuration:
linux-broadcom64-current.config.
BCM2837 (Pi 3 / Zero 2)¶
- 64-bit builds enable
arm_64bit=1,drm_kms_helper, and tunecmdline.txtwithfastboot,noswap, and quiet branding. create-boot-script.shcopies firmware, DTBs, and update blobs beforegenimagepackages the VFAT and userdata partitions.- Overlay adds temperature helpers and ALSA cards, while
patches/contains fixes for DuckStation, Moonlight, and other packages.
BCM2836 (Pi 2)¶
- Matches Raspberry Pi 2 defaults but adds REG Linux overlays for VC4, DPI, and audio helper tweaks.
- Partition layout: 2 GiB boot + 256 MiB
SHAREviagenimage.cfg. - Kernel configuration:
linux-broadcom32-current.config.
BCM2835 (Pi 1 / Zero)¶
- Legacy boot scripts stage
zImage, DTBs, modules, and firmware into the FAT32 boot partition. cmdline.txtkeepsfastboot,quiet, androotwaitplus simple audio/DRM tweaks.- Overlay sustains ALSA/OpenAL helpers;
patches/hosts optional fixes (e.g.,thextechpatch). - Kernel configuration:
linux-broadcom32-current.config.
Build reminders¶
- Update
genimage.cfgwhen partition layouts change so the FAT32/userdatavolumes reshape accordingly. - Edit the
fsoverlay/trees for temperature scripts, ALSA cards, or helper binaries before rebuilding the image so the runtime defaults land where expected. - Keep
patches/ordered via their numbered filenames to preserve the intended application order. - Document kernel config or overlay adjustments to help future contributors understand new firmware/bootloader expectations.