Customized UEFI Build for Raspberry Pi 4

Customized UEFI Build for Raspberry Pi 4

A customized build of TianoCore UEFI for use with the Raspberry Pi 4 in headless configurations and server environments.

To facilitate use with headless Raspberry Pi 4 servers, I build customized versions of the TianoCore UEFI. These builds are based upon the Pi Firmware Task Force’s builds, with adjustments intended to tune default values for headless/server needs and to simplify in-place upgrades of UEFI.

  1. Download
  2. Primary Customizations
    1. Change Defaults for UEFI Configuration
    2. Include Additional Devicetree Overlays
  3. Other Customizations


To download the customized builds for Raspberry Pi 4, visit the GitHub releases page for this project.

Primary Customizations

The following are some of the customizations that have been applied to the UEFI build:

Change Defaults for UEFI Configuration

To allow easier UEFI upgrades on Raspberry Pi 4s without monitor or keyboard connected, this build changes the default values for specific UEFI options. Without these customizations, each new version would require manually entering UEFI to change the values – a task that is complicated in headless settings.

The changed defaults include:

  1. Remove 3gb RAM Limit

Include Additional Devicetree Overlays

Additional devicetree overlays are included into the release .ZIP file to facilitate specific uses for the Raspberry Pi 4. Without these included, the respective overlays would require manual download and placement each time the UEFI is installed.

The additional devicetree overlays include:

  1. disable-wifi
  2. disable-bt
  3. rpi-poe
  4. rpi-poe-plus

Other Customizations

In addition to the primary customizations listed above, the following minor changes have also been applied to the build:

  1. Change the UEFI Firmware Vendor string to differentiate these customized builds from the Pi Firmware Task Force builds.
  2. Disable the Raspberry Pi bootloader’s rainbow square splash screen