Booting Raspberry pi from SSD is more reliable then small might SD card that never designed for Operating System. After long waiting finally native USB boot for raspberry Pi 4 is here. I know it is in beta now but i can not wait to get my hands dirty with this. Now lets boot Raspberry pi 4 from USB SSD disk.

Raspberry pi 4

Raspberry pi 4

Note: Its not the final release and upgrade at your own risk.

You still need SD card to boot Raspberry pi 4 to make some configuration change so lets copy Raspberry Buster to sd card and to you SSD disk as well and boot your Raspberry pi 4 from sd card first and run following commands.

sudo rpi-update warning

sudo rpi-update warning

After successfully updating your raspberry pi reboot your Raspberry Pi 4

Now install rpi-eeprom to change the content of the eeprom on your Raspberry pi 4.

Now You have to change rpi-eeprom-update file. from FIRMWARE_RELEASE_STATUS=”critical” to
FIRMWARE_RELEASE_STATUS=”beta

Now after making changes to rpi-eeprom-update file you can run following command to check lates version

Raspberry Pi 4 eeprom version

Raspberry Pi 4 eeprom version

Lets program the eeprom with following command and then reboot your Raspberry Pi 4

Raspberry pi 4 update eeprom

Raspberry pi 4 update eeprom

Reading the EEPROM version, for me it is May 15th version but may be in next few days that changes and you might have different version.

To view the configuration file used by the bootloader at boot time

Now if you see BOOTORDER=0xF41. 4 is for booting from USB and 1 is booting from the sd card. Now we are lets move to SSD and you have to copy all .elf and .dat files from your SD card into the boot directory of your new SSD.

Raspberry pi 4 bootloader config and version

Raspberry pi 4 bootloader config and version

Now you need to copy all *.elf and *.dat files from your SD card to your USB SSD disk boot directory, you can list these files while your raspberry pi is still up.

Lets copy the all .dat and .elf files to USB SSD disk, i m doing this by mounting my USB SSD to to raspberry pi and copy these files but you can copy these files from using your computer.

Lets copy the all .dat and .elf files to USB SSD disk, i m doing this by mounting my USB SSD to to raspberry pi and copy these files but you can copy these files from using your computer. if you are already logge in as root you dont dont need put sudo in front of every command.

After copying *.elf and *.dat files boot Raspberry pi 4 from USB SSD disk.

One thing to note here, i tried USB 3 adapter to my Raspberry pi 4 USB3 port and as soon as i connect my usb 3 my Raspberry pi 4 stopped responding so i had to use USB 2 port on my Raspberry pi 4 even i have USB 3 SSD adapter.

Raspberry Pi 4 USB mass storage beta Link

Raspberry pi 4 Bootloader Configuration

Raspberry pi GitHub Link

Note:  USB mass storage boot will NOT work without the updated firmware start.elf binaries. These will probably be released via rpi-update in a few days time.  This release simply helps to validate if there are regressions in the current SD and Network boot modes.

If you want to resize your SSD disk to extend full disk space read this post: Resizing the USB SSD on Raspberry Pi