I just bought the Raspberry Pi 4 B, and I would like to boot off the SD Card and have an external SSD (connected through a USB-SATA adapter) as the root partition.
I have these components for the external SSD:
Sabrent USB 3.0 to SSD / 2.5-Inch SATA Hard Drive Adapter - https://www.amazon.com/gp/product/B011M8YACM
Pioneer 3D NAND Internal SSD 240 GB - 2.5" / SATA 3/ 6 GB/s Solid State Drive - https://www.amazon.com/gp/product/B07H8DX99B
I was able to write the raspbian buster image to an SD Card.
I also wrote the raspbian buster image to the SSD.
I booted into Raspbian (through the SD Card), and completed the installation.
I then edited /boot/cmdline.txt and changed the root partition to /dev/sda1 (my SSD). I also edited /etc/fstab and changed the root partition to /dev/sda1. (I also tried using the PARTUUID instead of /dev/sda1 but that didn't work either.)
At this point the Raspberry Pi wouldn't boot. It said there was a timeout connecting to the SSD after 1 minute and 30 seconds and tried to go into emergency mode.
Something unusual that I noticed is that before rebooting, the command "sudo blkid" took over 1 minute to print a result. Usually it prints the result right away. Perhaps this is a problem with Raspbian and the USB-SATA adapter.
I've had success using a USB storage device as the root partition while booting from the SD Card on the Raspberry Pi 3b+, but I can't seem to get it working with the Raspberry Pi 4 B. Does anyone have any advice?