SPI Nor Flash for booting from NVME

Hello,
I am pretty new with Rock 3A and trying to flash it to make it working with nvme boot
I follow the instructions give in https://wiki.radxa.com/Rock3/install/spi

but it fails everytime

Do you have any experience with this?

Hi Rasa,
the way it worked for me was by installation of the ARMBIAN system onto a separate µSD card, booting the system from this and using “armbian-install” tool to install the boot-loader to MTD flash (setup point 7).

After that I took a fresh NVMe (in an external case) and installed armbian onto (again) by using “balena etcher”. This ensures that there is a valid boot-partition (FAT16) and an ext4 partition on the NVMe and it should boot then correctly without the µSD card.

If you need more specific information, just give me a call :slight_smile:

Hey @Hans did you do something special on this ?

I’m trying to do the same with armbian 23.02, but at the end the nvme drive can’t boot alone. I edit the armbianEnv.txt and the fstab to adapt the drive to use (my /boot and root come from the nvme) :

root@rock-3a:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
tmpfs           199M  8.5M  190M   5% /run
/dev/nvme0n1p2  116G  1.9G  113G   2% /
tmpfs           991M     0  991M   0% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           991M     0  991M   0% /tmp
/dev/nvme0n1p1  256M  118M  139M  46% /boot
/dev/zram1       47M  1.1M   43M   3% /var/log
tmpfs           199M     0  199M   0% /run/user/0 

But at the end rebooting without the initial sdcard doesn’t work…

Did you do something special ?

No, nothing special, except that I had to do the installation TWICE (like described above):

  • first I initialized the µSD-card to boot from and to FLASH the MTD (which installs the BOOT loader).
  • secondly installing armbian again onto the NVMe with ETCHER in an external drive case. After that, put the NVMe into the Rock-3A’s M.2 slot and boot from it.

What might be a flaw is that booting from the NVMe does ONLY work if the jumper (on the forefront near the SD-card-slot) for flashing is REMOVED before booting. If the jumper is still set, booting from NVMe is not possible.

Hope that helps.

Hello, thank you for your feedback. I tried exactly the same thing… strange. Do you remember which version of Armbian you used? I’m also going to try to debug the boot with a serial cable, but the one I have doesn’t seem to support the 1500000 baud rate required for the serial connection.