j-riv@localhost:~$

Raspberry Pi 4 USB Boot

Raspberry Pi 1 - 3 contained all of their firmware on the SD Card. This has changed with the Raspberry Pi 4. The device now has onboard upgradeable firmware stored on an EEPROM chip seperate from your storage. Updating this firmware is very important as the newer updates reduce power usage, which in turn reduces how hot it gets.

Theres a new utility called rpi-eeprom to update bootloader firmware. To upgrade the firmware you should be running the latest version of Raspberry Pi OS. Even if you do not plan on running this distribution this is easiest way to update the firmware. After you've successfully upgraded you can run whatever OS you want. I recommend keeping an sd card with Raspberry Pi OS just for the purpose of upgrading the firmware every couple of months or so.

Install rpi-eeprom (you should already have it installed but just in case).

  sudo apt update
  sudo apt full-upgrade
  sudo apt install rpi-eeprom

Now that rpi-eeprom is installed, your pi will check for firmware updates at boot.

Check for updates.

  sudo rpi-eeprom-update

If the firmware is not up to date this will let you know. If you need to update it run this command:

  sudo rpi-eeprom-update -d -a

You should now get a message telling you to reboot. Go ahead and change the boot order before rebooting.

sudo raspi-config

You will find the boot options under the advanced section. Select w/e you want and reboot. Your pi should now be able to boot from USB. Go ahead and install w/e distribution you prefer on w/e usb storage you prefer.

For my usb mass storage device, I personally chose to go with an M.2 SSD. You can get one of these for relatively cheap these days. Do not go for an expensive one as your speed will be limited by the usb port. I got a PNY M.2 SSD for around $24 on Amazon.

I mounted the SSD via an expansion board, it gives it a cleaner look, compared to running an ssd off of a usb dongle. You can pick one of these up on Amazon