How to SSD boot on the Raspberrpy Pi 4

in STEMGeeks3 months ago (edited)

If you haven't checked out my post yesterday about the performance advantages of using an SSD drive on the Raspberry Pi 4, I highly recommend you check it out. Booting off an SSD drive on the Raspberry Pi can see as much as a 50x speed improvement over an SD card.

When you can get a 128 GB SSD for only $20 shipped, it is a viable alternative to a slow SD Card.
(You do need a $9 SSD to USB cable)

This post I will show you how to enable SSD boot for the Raspberry Pi 4, instructions for the Pi 3+ would be a little different but performance is not as impressive on the Pi 3+ as it is with the Pi 4.

Enabling SSD boot on the Pi 4

Obtain SATA to USB Cable

You will need a SATA to USB 3 cable. All cables are not the same and some may even advertise USB 3 but will not be a good option.

The above cable is what I recommend using, it is proven to work with USB 3 and supports UASP it also includes a USB-C adapter which may be handy in the future.

Having a cable that supports UASP is critical as performance will improve more than 50%.

UASP is a newer USB block storage protocol that replaces BAT that was developed back when USB released 1.0. BAT is limited to large sequential transfer of data which is inefficient with high-speed USB.

You can verify if your cable runs in UASP mode by running lsusb -t on your Pi with an SSD drive connected to the cable.

/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
|__ Port 2: Dev 2, If 0, Class=Mass Storage, Driver=uas, 5000M

You are looking for the "Driver" section where it will specify uas or usb-storage. If you see uas you are in good shape and should experience maximum performance currently available.

Not all cables that advertise UASP will work properly. For example, I purchased this cable that supports USB 3 & UASP but it only works when plugged into a USB 2.0 port on the Raspberry Pi 4. This is a known issue other users have experienced.

While the cable works well on a PC and Windows, it doesn't work with USB 3.0 ports on the Raspberry Pi 4.

You want to make sure you plug the SSD drive into the blue USB 3.0 ports on the Raspberry Pi 4. The standard USB 2.0 ports will drastically reduce the speed of your SSD drive.


Update your Pi 4

You will want to fully update the software on your Raspberry Pi 4 before doing anything. You can accomplish that using the following command.

sudo apt update && sudo apt full-upgrade

Update eeprom

You will need to change your release from critical to stable.

Edit the following file /etc/default/rpi-eeprom-update using vim, nano, or whatever your favorite editor is.

Change the release from critical to stable

FIRMWARE_RELEASE_STATUS="stable"


Install the latest firmware

sudo rpi-eeprom-update -d -a

This command will update the firmware for the Raspberry Pi 4, you will need to do a reboot using sudo reboot when it is complete.


Verify firmware

Use the following command to verify you are running firmware dated June 15th, 2020, or newer.

vcgencmd bootloader_version


Install or copy OS to SSD

At this point, you have two options. You can use the official Raspberry Pi imager to install Raspberry OS on your SSD drive or you can copy the SD card directly to your SSD.

Using the Raspberry Pi Imager is really easy and awesome, you can follow my [instructions] to install Ubuntu but install the official Raspberry Pi OS instead. You can also choose other operation system choices from the Raspberry Pi Imager.

If you are using a new image, you will need to update all .dat and .elf files in the /boot folder. You can copy these files off the SD card /boot folder after you do a full upgrade or you can download the official Pi firmware repo and grab them from there.

If you choose to clone your SD card you can use imaging software like Win32 Imager or the SD Card Copier built into X Windows that comes with Raspberry Pi OS. You can find this by booting into X Windows on your SD card.

Reboot off the SSD

That's all you have to do, you can remove the SD card now and boot off the SSD card.

Cover Image Source

Check out other posts in my Raspberry Pi Series


Securely chat with me on Keybase

Why you should vote me as witness

Sort:  

Thank you very much for the informative publication. I enjoy reading articles on technical capabilities because progress is moving forward. In a word, developing in this regard is very cool. I wish you success. Waiting for your updates.

Does editing eeprom and updating/verifying the firmware work the same way on ubuntu?

Right now Ubuntu doesn't have the Raspi tools so you need to use a Raspberry Pi OS boot to do that sort of thing

Are you missing a link to your instructions for installing Ubuntu?