Raspberry Pi

EEPROM

EEPROM updates

The EEPROM can be updated from Raspberry Pi OS using the rpi-eeprom-update tool:

sudo rpi-eeprom-update -a
reboot

Boot order

Boot order is controlled by the BOOT_ORDER EEPROP configuration option. It can be set with sudo -E rpi-eeprom-config --edit. Up to eight options may be tried, each expressed as a nibble (4 bits), for a total of 32 bits. Option values can be found in the documentation.

config.txt

The config.txt file on the /boot partition is used to store settings typically found in BIOS/EFI.

vcgencmd get_config <[value|int|str]> prints the active value for a configuration.

The grammar is fairly simple:

  • Settings are expressed in key=value format.
  • include filename.txt includes an additional file.
  • Conditional filters scope settings to specific hardware, and can be combined (AND) by listing them one after the other:
    • [all] resets all previously used filters.
    • [pi<revision>] and [board-type=<type>] match models.
    • [none] prevents matching any hardware.
    • [EDID=edid] match specific display output EDIDs
    • [0x1234abcd] matches a specific serial number.
    • [gpio<n>=<0|1>] match if the numbered GPIO pin is in a high/low state.

UEFI firmware

A build of the TianoCore EDK2 is available for the Raspberry Pi 4. These require setting a custom armstub value in config.txt.