# Raspberry Pi 4 firmware configuration tool: rpi-eeprom-config

The Raspberry Pi 4 first level bootloader, capable of USB, SD and network
booting, is stored on a SPI EEPROM memory. In order to tweak the boot order or
some of the functionality, a configuration firmware blob has to be flashed into
the SPI memory. This tool allows extracting and repacking the bootloader
configuration.

Note that the bootloader configuration instructions available on the official
Raspberry Pi 4 documentation[1] don't apply to SUSE/openSUSE as
'rpi-eeprom-update' isn't supported for security reasons.

A common usage would look like this:

	# Extract current config
	rpi-eeprom-config /boot/efi/pieeprom.upd > eeprom-config.txt

	# Edit eeprom config
	vi eeprom-config.txt

	# Write new config into firmware binary blob
	rpi-eeprom-config --config eeprom-config.txt \
			  --out /boot/efi/pieeprom.upd \
			  /boot/efi/pieeprom.upd

	# Regenerate firmware's sha256sum
	sha256sum /boot/efi/pieeprom.upd  | cut -d" " -f 1 > /boot/efi/pieeprom.sig

	# Trigger firmware update
	rm /boot/efi/RECOVERY*
	cp /boot/vc/firmware/recovery.bin /boot/efi/.

	# Reboot
	reboot

Please be mindful of performing every step correctly, failure to do so might
break boot on the device. Breakage can be fixed following the recovery
instructions found here: https://www.raspberrypi.org/downloads/

[1] https://www.raspberrypi.org/documentation/hardware/raspberrypi/booteeprom.md