right, I THINK there is a possibility to boot over USB, but I have never done it. The PocketBeagle's System Reference Manual points to this project for USB boot. Worth having a look? It seems that this wouldn't actually boot from a USB drive, but from a host computer (so you may need to rewire the USB1 port to become an OTG port).
Not sure how it would work to have a dual-booted SD card, but if you manage to do that, it could be a possibility.
I was thinking that maybe you could simply do the following:
- automount the USB drive
- run a script on the drive
- the script should simply
dd
an image from the drive to the SD card, overwriting the whole content of the SD card LIVE, while you are running an OS that runs from it.
The last step clearly seems very error-prone, but maybe it will just work? dd
will be loaded in memory, so it will not need to read from disk to complete its job.
One step back, though: WHY do you need to completely reflash the SD card? If the purpose is shipping updates, could you not do incremental updates by automatically running a script from the USB drive?