How to Boot a Raspberry Pi 4 from a USB or Flash SSD

By default, the Raspberry Pi will always try to boot (and store all its programs) on the micro SD memory card, which has a theoretical bandwidth of 50 Mbps on the Raspberry Pi 4 and 25 Mbps on the models. previous. Using an external SSD , even connected via USB, can greatly speed up the performance of the device, so next we are going to tell you how you can make the Raspberry Pi boot from an external SSD , or even from a USB pen drive.

Despite the low bandwidth that the Raspberry Pi have in its socket for microSD memory cards, we can make them really fast using external USB drives. The problem is that by default they will not start the operating system from them, but next we are going to show you the steps you must follow to do so. Thanks to this, you can achieve a bandwidth of up to 140 Mbps of reading and 208 Mbps of writing .

Boot a Raspberry Pi 4 from a USB or Flash SSD

Prepare the Raspberry Pi 4 to boot from a USB SSD

The first step is simply to boot normally with the operating system you have installed on the micro SD memory card, and the second step is to make sure that you have it fully updated. To do this, simply enter the following commands in the console:

sudo apt update
sudo apt full-upgrade

Once the update process is finished, you will have to edit a file to allow you to install the firmware that will allow us to start the Raspberry Pi from an SSD or USB pen drive. To do this, run the following command:

sudo nano / etc / default / rpi-eeprom-update

The text editor “nano” will open, and what we must do is change the FIRMWARE_RELEASE_STATUS parameter from “critical” to “stable”. Once modified, press CTRL + X to save and exit (be sure to press Y when asked if you want to save the changes).

Actualizar firmware Raspberry Pi para arrancar desde SSD USB

Now we must install a new bootloader, which is the component that will allow us, as its name suggests, to be able to boot from other devices other than the micro SD card. To do this, run the following command:

sudo rpi-eeprom-update -d -a

Once it finishes, you must restart the Raspberry Pi for the changes to take effect. When you reboot the operating system, it is recommended that you run the following command to verify that you are now using the correct firmware:

vcgencmd bootloader_version

The firmware date should be June 15, 2020 or later, as this version is the first to support booting the Raspberry Pi from a USB device.

Versión del firmware Raspberry Pi

Once this is done, we proceed to the second part of the tutorial, which simply consists of copying your current system to the new SSD or other USB device that you want to use to boot the Raspberry Pi from it.

Prepare the boot SSD

What you should do now, as we mentioned, is either copy all the contents of the micro SD to the new USB drive you want to use (for this you need to do it from a PC or Mac, since from the Raspberry Pi you will not be able system files in use), or you can simply mount an operating system image directly to the USB drive. It is your choice.

What is important is the next step, and for this you will need a Windows PC or a Mac. You need to have connected both the micro SD card of the Raspberry Pi and the USB drive. Go to the / boot directory of the micro SD and copy all the * .dat and * .elf files from there to the / boot directory of the SSD or USB device, replacing the existing files.

Now yes, without even having the micro SD installed in the Raspberry, you can now boot the device from the SSD or USB flash drive that we have just prepared, and you will see that everything works much faster than before.