A. Does the Radxa Rock 4 SE boot natively from the SD card
B. If it does, then move the RootFS “/” to the EMMC but leave the /boot partition on SD card
Using this method
once the RootFS partition has been rsynced over, ensure the new /etc/fstab matches the correc UUID for boot, leave the /boot SD card in the Radxa Rock 4 SE, reboot
Everything should reboot, yet RUN from the MUCH faster NVME drive…even updates should work seamlessly as the /boot is only touched at boot time and on updates/upgrades
You MUST leave the SD card in the SD card slot…this is why I recommend using small 8GB~ cheap generic SD cards…initial build/setup will be slow…but upon moving the RootFS over to the EMMC/NVME…all is welll
Make good backups of the SD card and the EMMC/NVME
Little note here which appeared in https://dietpi.com/forum/t/unable-to-boot-from-nvme-after-flashing-spi/24803: That helper script seems to generally work, but does not update the rootfs UUID in /boot/dietpiEnv.txt (on the NVMe). After the script has finished, align that with the / entry in its /etc/fstab, or check the NVMe’s UUID with lsblk -no UUID /dev/nvme0n1p1 or alike.
DietPi or not, this is generally difficult for generic scripts to do reliably: There are a lot of different bootloaders and some support a variety of different boot configs (U-Boot: boot.scr, extlinux, EFI, …) and the boot.scr in particular is, as a script, very flexible regarding environment files for settings. And then RPi’s and other SBCs come with their very own vendor solutions …
Just something to keep in mind, that not only the init system needs to know the rootfs (/etc/fstab), but also the bootloader>kernel, otherwise it won’t boot. And since there is not exactly a generic config for this, it needs to be assured/checked manually when using 3rd party scripts.