I have written a script that copies a running instance of zynthian from uSD to NVMe.
- Attach NVMe to zynthian
- Boot zynthian using uSD as normal
- Run the script
- Power down the zynthian
- Remove the uSD
- Power up
Hopefully you have the same zynthian with all its config and files but now running from NVMe. The boot order is uSD->NVMe->USB so that you can plug a uSD card in and use that instead. This slows down NVMe boot whilst it looks for a uSD but it feels the safest. You can change to boot from NVMe first with raspi-config nonint do_boot_order B2
but if your NVMe stops working you may need to remove it to allow to boot from uSD. This may happen if the RPi can find the NVMe but it cannot boot from it.
You can copy the script to your zynthian and change its permissons to allow it to be executed or you can launch it with the sh
command. I have tested this on my RPi5 a few times and it works but YMMV. Use at your own risk. I stongly recommend backing up your work before doing this.
zynthian_sd2nvme.sh (1.7 KB)
We could add this as a feature, e.g. from webconf / admin menu but that feels a bit dangerous.