Move RootFS on Radxa Rock 4 SE?

Hi!
Is it possible to move RootFS to a NVMe drive (hat) on the Radxa Rock 4 SE? No option for it in drive_manager.

I boot from a 16GB eMMC but would like to move RootFS to the NVMe drive, since this SBC doesn’t have SPI and can’t boot from the NVMe natively.

DietPi v9.19.2 on the SBC.

/b3rrytech

The bootloader would need to stay on SPI or SD, you could only move the RootFS, but not the boot loader

1 Like

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

git clone https://github.com/benjamin-nose/Adafruit-Pi-ExternalRoot-Helper.git
cd Adafruit-Pi-ExternalRoot-Helper
sudo ./adafruit-pi-externalroot-helper -d /dev/sda

change the /dev/sda to the emmc/nvme drive ID

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.

1 Like

Ah yeah…I don’t think it took the particular “dietpi” scripting into account…but keen eye for sure!
Thanks!!!

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.

1 Like