Skip to content

SSD Boot Setup for Raspberry Pi 4/5

Both Raspberry Pi 4 and 5 have decent USB booting support built-in. Getting it working is pretty straightforward.

FAT32 boot partition

The Raspberry Pi boot process has some quirks worth understanding:

The GPU contains the primary bootloader, which looks for boot files on a FAT32 partition - this is hardcoded into the Broadcom SoC. That's why every Pi OS image has a small FAT32 /boot partition alongside the main ext4 root partition.

For USB booting, the Pi 4 needs its EEPROM updated to check USB devices. Pi 5 ships with this enabled by default in newer firmware.

Guide

Prerequisites

Make sure you have an SSD and a USB-to-SATA adapter or USB SSD ready.

1. Change the Boot Order

markdown
Use Raspberry Pi Imager to update bootloader:

1. Open Raspberry Pi Imager
2. Select `Misc utility images` > `bootloader utility (Raspberry pi 4 family)`
3. Choose `USB Boot` 
4. Write to SD card and boot Pi once
5. Remove SD card after green screen appears
bash
# Check/configure boot order
sudo rpi-eeprom-config --edit

# Look for this line (USB boot priority): 
# BOOT_ORDER=0xf41

2. Write Image to SSD

Download an image:

Use Raspberry Pi Imager or dd to write the image directly to your SSD.

3. Boot from SSD

Important

Remove any SD card from the Pi before booting - it will take priority over USB.

Connect the SSD and power on. The Pi should boot from the SSD after 5-10 seconds.