ATTENTION!
There is a newer version of the following step-by-step guide in the Community Guides section:
So the following text is outdated!
Step by step guide to run HA on a RPi 4 8Gb with SSD boot
Update the boot EEPROM firmware
RPi 4 has a boot EEPROM (while RPi 3 did not!). You have to update that EEPROM to the latest firmware (2020-09-03) which enables USB boot. To update the EEPROM you have to temporarily install Raspberry OS. I used an SD card for this. The steps are described here: https://www.raspberrypi.org/documentation/hardware/raspberrypi/booteeprom.md
The basic steps are:
Edit the rpi-eeprom-update file and change the FIRMWARE_RELEASE_STATUS from “critical” to “stable”:
sudo nano /etc/default/rpi-eeprom-update
Change the file, save and exit nano. Then…
sudo apt update
sudo apt full-upgrade
sudo reboot
Let the system reboot. Then check the EEPROM version using…
sudo rpi-eeprom-update
This should at least report firmware 2020-09-03.
Launch raspi-config
sudo raspi-config
then Boot options → Boot Rom Version → latest → Ok →
when the system asks to “Reset boot ROM to defaults” select No (!!!) to use the latest boot ROM.
→ Boot Order → USB Boot → Ok → Finish → Reboot
Flash Home Assistant to SSD
Now download the latest Home Assistant 5.x OS from here:
Look for the latest “Development 5 build X” (5.2 at the time of this writing).
Open the “Assets” panel under the list of changes to see the downloads.
Find the image hassos_rpi4-64-5.X.img.gz - make sure it is rpi4 (not rpi3) and 64 bit.
Use Balena etcher or a similar tool to flash the image onto your SSD.
(Yes Balena can flash to SSD, not only SD!)
Start Home Assistant
Plug the SSD into the Pi, take out any remaining SD card and boot.
Check http://homeassistant:8123 on your network or use Port 8123 with the IP that your router’s DHCP has assigned.
WAIT. WAIT more. It takes at least 30 minutes!!!
Check http://homeassistant:8123 on your network or use Port 8123 with the IP that your router’s DHCP has assigned. WAIT more.
The boot time is extremely long. And it stays long with each reboot!
UPDATE 2020-09-27:
If you find that the boot process takes extremely long please consider this solution: @maxym mentioned in this thread that long boot times can be circumvented by attaching the SSD through USB 2 instead of USB 3. I can confirm this! So I suggest that if your system takes 30 minutes or longer to boot, then power off, switch over to USB 2 and try again. Hopefully these boot time meditations on USB 3 will disappear with the stable version of HA OS 5.
UPDATE 2020-09-28:
I finally found that the long boot times on the USB 3.0 ports are related to certain features of the chipset in the SATA to USB 3 adapter. I use a Sabrent EC-SSHD which is based on a JMicron JMS583 chip. Sabrent offers a firmeware update for the adaptor that solves the issue. After the update HA boots within 3 minutes from my SSD connected to USB 3.0. I guess other vendors of JMS583 based products will offer similar updates. So if you find that your USB 3.0 boot times are too long I suggest that you first check whether USB 2 is faster. If this is the case then look for an update for your adapter firmware – or stay with USB 2.
Once started the system works flawlessly and is extremely fast and stable!
HA restarts are very fast too (they are no reboots as one might think).