Question about booting from nvme drive


Hi all,
I’d like to buy a Rock Pi and boot the system from an NVME disk.
Btw this is my prospected setup

can anyone confirm that it is possible to build a Kali or Ubuntu image (on the PC) write and then on boot it directly from the NVME?

The instructions at, for what I can understand, are about adding an NVME volume to an existing setup running from SSD.
Am I wrong?
Thank you very much.
(excuse me for this boring question)


Hi, Mik

The short answer is not directly as you said but you can benefit the fast NVMe speed.

Because RK3399 can not boot directly from NVMe. It can boot from SPI/eMMC/SD directly. There must be a bootloader in SPI/eMMC/SD to load boot images from NVMe. Currently the rk3399 u-boot doesn’t have NVMe driver, so we have to wait the kernel boot to use NVMe. You can put the rootfs in NVMe and bootloader and kernel in SPI/eMMC/SD.

So to use the fast NVMe, you can put the whole rootfs in NVMe and have bootloader and kernel in microSD card or eMMC module.

Rock Pi 4B boot from NVMe

Thank you for your quick reply.
Now I understand how to do but I ask you for an extra help.
What should I buy to have such a eMMC setup to boot?
I’m a complete newbie and can’t understand if I need a cable or an adapter to connect an eMMC.
Similarly what I need to use a simple SD?
Looking at the pictures of this nice board I can’t understand how to connect them.
On the front where are the SD slot or the eMMC one ?

or where is the uSD or eMMC slot on the back ?


To install the image to eMMC module, you have two options:

  1. use the eMMC to uSD adapter which can buy from our distributor, and then use a uSD card reader to write it from PC

  1. put the eMMC module on the ROCK Pi board, and write the image from PC via the ROCK Pi USB OTG port to eMMC. This method is more advanced, which we put it on the dev page. You can check it here:


Thank you for kind reply !
Compliment also for your great work.
The site and the ammount of information about the project is growing.


What is the recommended size of an eMMC module to setup as the boot loader? I see in the wiki it wants larger than 8GB - but if we’re only going to use it to boot with root being on the NVME ssd drive - is 8GB still required?

Do you have a recommendation on what to buy?


I recommend the following accessories if you want to running on NVME.

  • eMMC module 8GB, for bootloader and kernel
  • M.2 extend board for better mounting NVMe ssd
  • Samsung EVO NVMe for better reliability


In example #1, are you implying that: I can insert the emmc module into the purchased SD adapter, plug that into my SD to USB adapter, plug that into my PC and use Etcher to flash a bootable image onto the emmc?
Then I only need to insert the eMMC into the on-board socket and boot from the emmc?


Exactly. Checkout other rk3399 boards out there, they do not implement that. We are the only one provide GPT image for Android so that you just dd or use Etcher to write to sd card or eMMC module and boot.


That’s great news!

Unfortunately, flashing the new Debian build with Etcher directly to eMMC didn’t work. The heartbeat appears, as if it is booting via eMMC but there’s only a black HDMI output. Same build boots fine via uSD. Suggestions?

Thanks, @jack