Configuring your Raspberry Pi 4 to work with pi-top [4] (EEPROM)

Get the best experience with your pi-top [4]

If you are installing your own 1GB, 2GB or 4GB Raspberry Pi (such as with the DIY Edition), you will likely need to update the Raspberry Pi’s behaviour to shut down correctly with pi-top [4]. For more information on what the Raspberry Pi EEPROM is and how to work with it, see here.
There are several ways to update your EEPROM configuration depending on the OS you're using. Please make sure to boot your pi-top [4] with the Raspberry Pi installed.

pi-topOS - Automatic EEPROM patching via notification

The latest version of pi-topOS will automatically prompt you to update your device's EEPROM to the correct values through a notification. By clicking the button in the notification, your EEPROM configuration will be automatically patched and your device will reboot to apply the changes. We recommend you to update your system to make sure this service is available, by either using the pi-topOS Software Updater or in a terminal, running:

sudo apt update
sudo apt dist-upgrade -y

pi-topOS - Automatic EEPROM patching via terminal

pi-topOS also lets you patch the EEPROM manually. First, make sure your system is up to date. Open the terminal application and run:

sudo apt update
sudo apt dist-upgrade -y

And then run the tool to patch the EEPROM configuration:

sudo /usr/lib/pt-system-tools/pt-eeprom -f
sudo reboot

pi-topOS/Raspberry Pi OS - Manual EEPROM patching

If you're running Raspberry Pi OS, you'll need to make sure you have the latest EEPROM files. Open the terminal application and run:

sudo apt update
sudo apt install rpi-eeprom -y

Then, modify the configuration of the latest EEPROM:

rpi-eeprom-config $(rpi-eeprom-update -l) > bootconf.txt
sed -i 's/^WAKE_ON_GPIO=1$/WAKE_ON_GPIO=0/1' bootconf.txt
sed -i 's/^POWER_OFF_ON_HALT=0$/POWER_OFF_ON_HALT=1/1' bootconf.txt
rpi-eeprom-config --out pieeprom-new.bin --config bootconf.txt $(rpi-eeprom-update -l)

Next,  install the modified EEPROM to the Raspberry Pi. On Raspberry Pi OS:

sudo rpi-eeprom-update -d -f ./pieeprom-new.bin

On pi-topOS:

sudo BOOTFS="/recovery" rpi-eeprom-update -d -f ./pieeprom-new.bin

Finally, cleanup the temporary files and reboot

rm ./bootconf.txt ./pieeprom-new.bin
sudo reboot