Wow! That's a really cool setup! How do you configure the different devices to hold different parts of the OS?
When you get it right on a Pi4, using a USB3 solid state drive, and redirecting where the Pi finds it's new high speed root partition, it fairly zips along! With this setup, the Pi becomes fully usable as a main everyday computer. If you load up simultaneous linear matrix math, or high speed data sampling on the GPIO while simultaneously checking out YouTube and eBay, on a Mate desktop, expect some slowdowns!
There are lots of how-to explanations on this forum, and on the internet, explaining ways of doing this. They vary, as does the final setup of what the user was going for, but the basics are the same. Since getting a Pi to directly boot up off a USB drive is not a feature available on the Pi just yet, we start it off on a SD card. I am sure one day, it will come, but for now, we can leave a MicroSD card in there, just to handle the initial boot-up up to the point it needs to find the rest of the root partition, which we arrange to be on the external drive. At first I made it work on a little 40GB 2.5 inch hard drive salvaged from a dead laptop PC. There seemed enough power from the USB to run it OK. Since then, I moved on to a 500GB SSD.
I had (foolishly) left a whole 64GB SanDisk MicroSD card doing the boot-up, now replaced with a 16GB, which happens to be the smallest I had around, but if you do this, sacrifice a 8GB or something. Just know that a "10 enclosed in a C" symbol alone is not enough to guarantee enough SD speed to manage a Pi boot-up. It may only be good for a cheap dashcam!
With a Samsung T5 500GB SSD using the high(er) speed USB3 on a Pi4, I split the space to make a separate partition for bigger data.
So I have the regular rootfs (/). Initially, it re-sizes to take up all the drive. The first thing was to install GParted, to claim back most of the space, and make a partition.
I made this separate partition as /data/(some_name) for my other stuff. I edited /etc/fstab to mount it, including the "noatime" parameter. There is no need to log the time of every write.
I reserved quite a lot (40G) for the root partition, because /user/share can get big with downloaded packages, and /home/(me) might even start getting large with stuff I stash, like photos, etc.
All this comes with a warning!
Search the posts in this forum. I am sure the advice is excellent. This is just about how I got there.
I ran into all sorts of problems, and messed up several times by blindly following various instruction procedures searched off the internet. There are so many different ways of achieving moving a Pi system onto a SSD or hard drive. Most work in the end, but the basic recipe turns out to be quite easy. The key thing not to have, at any stage, a PI image flashed onto the MicroSD card being identically the same as the Pi image put onto the USB drive, including the PARTUUID. The easy way to avoid this is not to directly flash an image on the USB hard drive, and then go through all sorts of resizing and editing to deal with the UUID. Simply use the nice Pi tool provided, explained below.
I followed this link. It has lots of good stuff, but a rather bad step at the very beginning (step 2)
https://jamesachambers.com/raspberry-pi ... sh-drives/
If you use BalenaEtcher, or whatever similar tool to write your initial Pi image to the MicroSD card, and then simply stick in the big USB drive, and write and identical copy onto it, it will end up exactly like the MicroSD card Pi, including the PARTUUID, and size and all.
Fortunately, there is the very handy, and much better way. On the Pi itself, meaning from the Raspian that includes the recommended software extras, there is a Accessories -> SD Card Copier
. This has a checkbox [✓] New Partition UUIDs. Use this to copy a Pi system onto your external USB hard drive or SSD. If it is a big external disk drive, it may need a separate power source of it's own.
You first get the Pi up and running on SD, and use this tool to copy the Pi image onto the hard drive or SSD. Later, when the move is made, the resizing and creation of other partitions can be done. I used Gparted for that.
The basic method is to edit /boot/cmdline.txt on the MicroSD to point to the drive where is the real place you want the rest of the boot-up to happen, and you do this by discovering the PARTUUID using blkid, and lsblk in a terminal. You need to be root to do this edit.
The pictures show my Pi4 with the 500G drive. The conky monitor shows the temperature is at 37C. and it pretty much stays there. I happen to be trying out a 2-fan heatsink, but the little transparent acrylic cases with a 40mm fan blowing over a small heatsink stuck onto the CPU are actually more effective!
I suppose the other giveaway is that the Pi4 is running a hardened secure mail-server and web-server.
I include a bit of terminal showing the commands to check out UUIDs, but it was at 1600 x 1200, so I am not sure the text size will show up well on the posted picture