How to install Ubuntu Desktop on Raspberry Pi 4

USB Boot Information for older Raspberry Pi models

:warning: This is a subsection from a previous version of the tutorial aimed at older Raspberry Pi 4s (more specifically 4GB Pis released prior to 2021) posted here for reference.

You can also now boot from a USB attached hard-drive or SSD with no microSD card involved. You have to do this after booting from an SD card however because all Raspberry Pi 4 models ship with an EEPROM configuration that boots from SD cards only. But we can change that.

The first check you’ve got an up to date EEPROM version on your Pi 4:

sudo apt install rpi-eeprom

Extract the current bootloader configuration to a text file:

sudo vcgencmd bootloader_config > bootconf.txt

Next we need to set the BOOT_ORDER option to 0xf41 (meaning attempt SD card, then USB mass-storage device, then repeat; see pi4 bootloader configuration for more information).

Alternatively vim bootconf.txt and make the edits yourself if you don’t like sed-hacking

sed -i -e '/^BOOT_ORDER=/ s/=.*$/=0xf41/' bootconf.txt

Now we generate a copy of the EEPROM with the update configuration:

rpi-eeprom-config --out pieeprom-new.bin --config bootconf.txt /lib/firmware/raspberrypi/bootloader/critical/pieeprom-2020-09-03.bin

Set the system to flash the new EEPROM firmware on the next boot

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

To apply any changes (the EEPROM is only updated during the early stages of boot)

sudo reboot

Now we need to get the image onto a hard drive. That’s the easy part. If you roll this tutorial back to “Prepare the SDcard” and go through it replacing “SD card” with “Hard Drive” you’ll have it.

You should now be able to boot from your hard-drive. Congratulations.

:warning: Warning
Be aware that some drives have issues being used to boot the Pi. In particular:

  • Spinning hard-disks required a lot more power than SSDs and will very likely require a powered USB hub.
  • Hubs themselves can cause compatibility issues, so you’re better off with an SSD to boot off (typically no need for a hub and no spin-up time issues).

There’s lots of good information on both the Pi forums and various GitHub issues for debugging boot issues; here’s a selection of links in a rough “look at this first” order from our top Pi guy: