SPI + NVMe booting(beta)

I don’t know how to quote your comment

“From my point of view, the only benefit is saving some cost for the eMMC/uSD and maybe cooler. Actually spi booting is much slower than eMMC.”

Hi. I was very intrigued by your comment. Does it mean that I am making a futile effort to try to boot from nvme? I thought the operating system would run faster from nvme.

It is more than cost, but IO NVME can provide, and not burning out SD cards. Using software like home-assistant can / does burn out SD cards, where NVME drives are designed to be used as hard drives. Please understand that these SBCs are used as small servers or dev devices where IO and IOPS matter.

This is the only way i got the Rock Pi to boot with spi+nvme. I recommend adding this topic link to this page: https://wiki.radxa.com/Rockpi4/Linux_system_runs_on_M.2_NVME_SSD @jack. Im using a rebranded intel 6000p 128gb.

1 Like

SPI + NVME boot does not work with Samsung 970EVOPlus, at least with current SW & instructions.

Instruction sucks also. Especially this part there "Put the M.2 NVME SSD into M.2 NVMe SSD Reader Adapter, and then insert them to PC. "

Why it does not instruct to copy existing image from SD to NVME. I tried that first. Boot did not worked. Then I used BalenaEtcher in my Mint. Still the same problem.

It is not big problem if I will not get SPI boot to work. I would like to get at least only boot part in SD card but I do not know how to proceed exactly for Rock PI. I have done that for Raspberry PI once. Idea is to avoid SD card wear out problem.

Procedure is explained here:
https://samhobbs.co.uk/2013/10/speed-up-your-pi-by-booting-to-a-usb-flash-drive

if SD boot is OK, Just use Armbian. SD wear out is addressed on multiple levels and boot/having rootfs from whatever is supported since early days:
https://docs.armbian.com/User-Guide_Getting-Started/#how-to-install-to-emmc-nand-sata-usb

… bootloader stays at SD card but since its mainly read, write only when upgrading kernel … its alright.

I want to have Ubuntu. I tested to create dummy files after boot from SD card in / and /home directories. Those files seems to be written in SSD afterall. So, I assume that all writing after boot will happen on SSD now.

root@rockpi:/# sudo lsblk -o name,mountpoint,label,size,uuid
NAME MOUNTPOINT LABEL SIZE UUID
mtdblock0 4M
mmcblk0 14.7G
├─mmcblk0p1 3.9M
├─mmcblk0p2 4M
├─mmcblk0p3 4M
├─mmcblk0p4 boot 112M 1121-C996
└─mmcblk0p5 ubt-bionic 14.6G 9d4f00d3-3731-4dac-a791-7dbd9cb156e2
nvme0n1 931.5G
├─nvme0n1p1 3.9M
├─nvme0n1p2 4M
├─nvme0n1p3 4M
├─nvme0n1p4 /boot boot 112M 1121-C996
└─nvme0n1p5 / ubt-bionic 931.4G 9d4f00d3-3731-4dac-a791-7dbd9cb156e2
root@rockpi:/#

Instead of using an adapter install etcher https://github.com/futurejones/balena-etcher-arm and flash it to nvme directly while using ubuntu in sd card / emmc. If everything goes right after u remove the sd card / emmc it should boot directly from nvme.

Armbian is classes better. https://forum.armbian.com/topic/7787-what-is-the-difference-between-armbian-and-debian-linux/?tab=comments#comment-58689

Do you think that etcher supports commands from command line?

it doesn’t but why would u need it?

I rely on Ubuntu as I know that I will find all needed working installation instructions what ever I want to install there. I also know that the apps are running in Ubuntu. On the otherhand I do not know anything about Armbian.

I qess dd command does the same as Etcher. That you can give from terminal. Before that you also might want to create some partitions. Root file system in one partition and data to second. It it will be useful later. That I tried first but gave up too easily, I presume.

What i did to get nvme booting working (the only thing that worked after 2 days of trial and error) was to boot the ubuntu image provided in the topic, do the spi flashing and then with a clean nvme (if you’re unsure if it’s clean install gparted and remove every partition) flash it with etcher. After that remove the sd card / emmc and keep only the nvme. It should work.

  1. There is no Ubuntu for this board. Its just “Ubuntu”.
  2. Armbian is highly improved Ubuntu or Debian. Anything that works on Ubuntu will work on Armbian version of Ubuntu. All instructions will work.
  3. Most of SBCs runs Armbian, not Ubuntu.

I definitely want to have 2 partitions, as I want to make this long running server. I want to be able to update and upgrade system without loosing data partition. Installation quide should also consider that part! It doesn’t matter if I can get rid of the SD card as long as writing happens only in SDD.

Etcher verifies what he wrote. That is the only diff.

Ok. Thanks point noted. I will consider that then.

Kingston a1000 is not compatible with SPI boot, controler are not reconized, but after the first loader sequence, its work, so you need the sdCard for start the loader, and after it continue the boot on ssd, mine doing /boot and root on SDD (with debian)

I have the Kingston A1000 too

Hello

I’m thinking of buying a Rock Pi 4C because of it’s native NVMe support.
I’ve found this topic and I would like to know what is the boot speed with this SPI+ NVMe booting firwmare ?
I really want/need a (very) fast booting device as I’m thinking of putting it in a car.

The page says “This tutorial applys to ROCK Pi 4A and ROCK Pi 4B”, would it apply to C edition?