A few weeks ago I purchased a USB 3.0 Solid State Drive (SSD). My intention was two-fold:
- to add more storage to my Raspberry Pi and
- to eventually use it as the boot disk for the Pi.
There are some advantages that come with booting from USB 3.0 SSD, most noticebly an increase in speed but also SSD’s are more reliable that micro SD cards and more cost effective on a $/Gbyte basis.
Early Raspberry Pi’s booted primarily from micro SD card. You wrote your operating system image to the card and inserted it into the Pi before booting up. Booting from a USB device was possible but involved a bit of MacGyvering. Since the introduction of the Pi 4B and the Pi 400, USB boot has been made easier.
I had been looking at this option for a while. I found numerous write-ups on the interwebs explaining how to accomplish the task. Some were more complicated than others. But it comes down to whether you have the most up to date Operating system (I have the new 64 bit “bullseye” installed) and up-to-date eeprom.
I found a set of instructions written by J. A. Watson at ZDNet called Booting my Raspberry Pi 4 from a USB device and it seemed to be the simplest and least confusing way to go about it. The author explained that your Pi4 must have bootloader eeprom firmware dated Sep 3 2020 or later. He also explained how to check this and I was able to confirm that mine was up to date. Watson also explained that you need to be running Raspberry Pi OS version 2020-08-20 or later, which I am with Bullseye.
So having confirmed both of the above, I decided to go ahead and make my SSD bootable. The process was simple. After running
sudo apt update and
sudo apt upgrade I used the SD Card Copier utility from my Pi’s Accessories menu and copied the contents of the bootable micro SD card currently installed in my Pi to the SSD.
When the copy process finished after a few minutes, I shut down the Pi using the
sudo shutdown command from the terminal. Once the Pi shut down, I switched off the power supply and removed the SD card.
Now for the moment of truth. I made sure the SSD was powered on (it’s on a powered USB hub) and I powered up the Raspberry Pi. The boot process was smooth and I encountered no problems.
And I have noticed an increase in speed now that the Pi is running from SSD.