This is an old revision of the document!
Boot from USB on your Raspberry Pi
Booting off of your SD card should be fine in most cases, and there's no speed penalty for doing so or anything, but what if you just wanted to boot off your larger USB connected SSD drive to keep things simple? This is how you can do that.
Just don't have an SD card inserted. By default, the Pi will attempt to boot off of its SD card, and if that fails then it will attempt to boot off of the USB drive. A few things to keep in mind, though:
- Ensure that the Pi can read the drive first before attempting to boot off of it.
- USB hard drives take up a lot of power, much more so than standard USB sticks. You probably won't be able to use a full sized mechanical hard drive. But if you are using a 2.5“ mechanical or solid-state drive, ensure that you are using the official power supply appropriate to your Pi model. Even on non-official supplies that are otherwise “high enough”, the booting procedure takes the most power of all and a non-official power supply may stutter, causing boot issues (or possibly even data corruption!)
- The Raspberry Pi can only boot on devices up to USB 2.0. You cannot boot off of a USB 3.0 drive.
- The default timeout for checking bootable USB devices is 2 seconds. Some flash drives and hard disks power up too slowly.
- Some flash drives have a very specific protocol requirement that is not handled by the bootcode and may thus be incompatible.
If you'd rather have the Pi prefer to boot from the USB first, or you want to save the split millisecond it spends checking for an SD card, read on.
You can follow the Raspberry Pi's technical documentation about it for older models at https://www.raspberrypi.org/documentation/computers/raspberry-pi.html#usb-boot-modes and for newer models at https://www.raspberrypi.org/documentation/computers/raspberry-pi.html#usb-mass-storage-boot
Raspberry Pi 3/2/1/Zero
I dunno man I gotta work this out first.
Raspberry Pi 4
This is the recommended process for changing your bootloader. You will need a spare SD-card to do it (its data will be wiped in the process!)
- Download the Raspberry Pi Imager and run it.
- Select
Misc utility imagesunderOperating System. - Select
Bootloader. - Select the USB boot-mode.
- Select
SD cardand thenWrite. - Insert the card into your Pi (without the USB drive) and boot it.
- Wait 10 seconds. The green activity LED will blink with a steady pattern and the HDMI display will be green on success.
- Power off the device.
- Remove the SD card and insert the USB drive.
Your Pi should now boot from the USB drive first.
- boot_usb_rpi_only.1630066449.txt.gz
- Last modified: 5 years ago
- by atari