Raspberry Pi 4 running Official Raspbian (RaspiOS) Buster bootable guide from USB SSD Drive

Source: Raspberry Pi Forum and Rapberry Pi Forum, Andreas Spiess Youtube

Update your Raspbian to RaspiOS with the latest EEPROM

RaspiOS is now replacing raspbian, furthermore you will need to update the EEPROM with a newer one which have less bugs.

This is a my second tutorial on how to enable your Raspbian Pi 4 to boot from SSD Drive running the latest raspiOS (2020-05-27).


Why this guide

Just want to have a fast and secure way of running my RPI 4 instead of needing microSD which much much slower in terms of speed and also in my case is very unreliable to run my home-assistant.

If you already have this information and wanna just update your EEPROM and have your new SSD running the latest RaspiOS

** Remember if you have not done this then you will have to go through the setup process **

First of all you need to have a fresh microSD and you will need to download latest rpi-boot-eeprom-recovery-2020-05-28-vl805-000137ad-BETA

Then you unzip the EEPROM and copy all its content into your microSD, then you can boot your RPI4 with this microSD. Upon successful update the green light will blink rapidly (forever) or an error pattern will be displayed or if you connect your RPI to a monitor it will show GREEN screen or RED screen if it fail.

If all when well just turn off your RPI and then insert your first microSD (the one that you run to make a bootable SSD) again you will need to mount the new formated SSD (new RaspiOS images)

# begin mounting your SSD Drive
sudo mkdir /mnt/mydisk # if you already have this directory then you can skip it.
sudo mount /dev/sda1 /mnt/mydisk

# copy all files needed for the SSD to boot
sudo cp /boot/*.elf /mnt/mydisk
sudo cp /boot/*.dat /mnt/mydisk

# Now its time to shutdown your RPI
sudo shutdown now

OK remove the microSD and you are set to run the new SSD with the new RaspiOS.

The setup

First you will need to download the official raspbian buster image from raspberrypi.org. Since I just wanna run it without windows then I choose Raspbian Buster Lite and run it headless. Next is to burn the image to your microSD and your SSD Drive using Balena etcher.

Follow etcher step to burn both drive together (you can actually burn both drive at the same time). Once completed both drive will be ejected. So please remount both drive and you will need to add ssh into the root directory on both disk (microSD and SSD)

Please make sure you read James A. Chambers Blogs for a guide to detect your USB SSD Drive. If it compatible then you should not have any issue. Recently I replace my old ORICO case with the new usb C ORICO case which 100% compatible with raspbian.

If everything when well you should first boot your RPI 4 using your microSD and do not attach your SSD as of yet.

Like usual you can connect to your RPI directly or remotely and in my case I do connect it via SSH (if you unable to connect via SSH then most probably you forget to add ssh into the root of your microSD). Remember for the first time raspbian will connect using user pi with a default password raspberry

Once connected as pi you can begin by doing:

# update your RPI
sudo apt update -y
sudo apt upgrade -y
sudo rpi-update

# reboot now
sudo reboot now

Alright you are now running the latest Raspbian Buster and now we need to update the RPI 4 eeprom. To do that you will need to:

# install the rpi-eeprom
sudo apt install rpi-eeprom

# Edit the rpi-eeprom and replace "critical" to "beta"
sudo nano /etc/default/rpi-eeprom-update

# Update/Install the beta eeprom 
sudo rpi-eeprom-update -d -f /lib/firmware/raspberrypi/bootloader/beta/pieeprom-2020-05-15.bin

# reboot now
sudo reboot now

Once your RPI is back online you will be able to check if you are now running the latest eeprom by:

# be sure to check that your version is now May 15th
vcgencmd bootloader_version

# be sure to check that your config have BOOTORDER=0xF41
vcgencmd bootloader_config

If you are satisfied with all the result then you need to copy some files into your SSD drive. Now you will need to mount the SSD into your RPI 4. Again make sure your SSD is detected by raspbian else it wont work.

# begin mounting your SSD Drive
sudo mkdir /mnt/mydisk
sudo mount /dev/sda1 /mnt/mydisk

# copy all files needed for the SSD to boot
sudo cp /boot/*.elf /mnt/mydisk
sudo cp /boot/*.dat /mnt/mydisk

# Now its time to shutdown your RPI
sudo shutdown now

Alright you are almost there, so now its time for the result. Remove your microSD and turn on your RPI (make sure your SSD is connected into the USB) Should everything went well you should see that raspbian buster is now up and running without the microSD. Also be sure that ssh is on your root SSD directory else you wont be able to do SSH.

Thats all and I hope this guide will help many of you.