Nvme software support at launch of rock 5b

Debug party didn’t answer question regarding nvme support at launch.

  1. Is provided Linux kernel supports nvme at launch of rock 5b ?

  2. Is booting from nvme drive supported at launch of rock 5b or it will come later ?

  3. Is it better to stick to emmc at launch and wait for proper nvme support later ?

1 Like

NVME works. I’m just using emmc for /boot and then the /rootfs on nvme.

mmcblk2     179:0    0  29.5G  0 disk
|-mmcblk2p1 179:1    0   512M  0 part /boot
`-mmcblk2p2 179:2    0    29G  0 part /
nvme0n1     259:0    0 238.5G  0 disk
|-nvme0n1p1 259:1    0    16M  0 part
|-nvme0n1p2 259:2    0 222.7G  0 part
`-nvme0n1p3 259:3    0  15.7G  0 part

io Disk Speed Tests (Mixed R/W 50/50):
Block Size | 4k            (IOPS) | 64k           (IOPS)
  ------   | ---            ----  | ----           ----
Read       | 439.98 MB/s (109.9k) | 500.58 MB/s   (7.8k)
Write      | 439.69 MB/s (109.9k) | 515.47 MB/s   (8.0k)
Total      | 879.67 MB/s (219.9k) | 1.01 GB/s    (15.8k)
           |                      |
Block Size | 512k          (IOPS) | 1m            (IOPS)
  ------   | ---            ----  | ----           ----
Read       | 504.80 MB/s    (985) | 515.72 MB/s    (503)
Write      | 547.98 MB/s   (1.0k) | 575.40 MB/s    (561)
Total      | 1.05 GB/s     (2.0k) | 1.09 GB/s     (1.0k)

rock@rock-5b:~$ sudo hdparm -t  /dev/nvme0n1p1

 Timing buffered disk reads: 3376 MB in  3.00 seconds = 1125.23 MB/sec

Guess boot from nvme and such may come later haven’t tried it and maybe already but maybe not.

Thanks for your answers.

One question left is booting from nvme.
Radxa team could you please comment?

If I am planning to use nvme drive for everything but booting. What size of emmc should I buy?

I guess enough for a boot partition so tiny but maybe an old sd card is cheaper

Booting from nvme should be familiar with rock3a, you need to flash the u-boot image into spi flash. There are two ways to do it:
A, flash the u-boot image into spi flash using maskrom. It should work at this time, but I haven’t tried it.
B, flash the u-boot image into spi flash when you’re in the Linux system of the board by using dd command. This requires sfc node in device tree, which should be added later.

Oh, I thought there wouldn’t be an SPI NOR flash on the developer edition but now I found a Macronix part next to the GPIO header partially covered by the fansink.

So you think all that’s missing is a DT node for it to be accessible from within Linux?

Do you know a good and end-user friendly MASKROM tutorial dealing with recent RK’s implementation one can link to? Speaking about something that could be put into a board review and not just suitable for experts…

There is a gold maskrom button near the gpio pins. To enter maskrom mode, press the maskrom button and connect typec port to your Linux computer. Using rkdeveloptool you can see the maskrom device. If you have emmc installed, image is flashed into emmc(I’ve confirmed). If you remove the emmc, the image should get flashed into spi flash I guess.

OMG is this thing tiny :slight_smile:

I managed to enter maskrom mode using a chopstick but unfortunately my ‘Linux computer’ with USB-C does not exist or could be only a Linux VM in macOS with USB passthrough.

At least the board appears on the USB bus:

USB 3.1 Bus:

  Host Controller Driver: AppleIntelCNLUSBXHCI
  PCI Device ID: 0xa36d 
  PCI Revision ID: 0x0010 
  PCI Vendor ID: 0x8086 

    Composite Device:

      Product ID: 0x350b
      Vendor ID: 0x2207  (Fuzhou Rockchip Electronics Co., Ltd.)
      Version: 1.00
      Speed: Up to 480 Mb/s
      Location ID: 0x14100000 / 1
      Current Available (mA): 500
      Current Required (mA): 400
      Extra Operating Current (mA): 0

Can you please point to the correct rkdeveloptool repo and confirm whether this works with arm64 as well or only x86/x64?

I’ve confirmed that rkdeveloptool works on my rock3a. I’m following this guide: https://wiki.radxa.com/Rock3/install/rockchip-flash-tools#Part_two:_rkdeveloptool_on_Linux. I think the guide for mac should also work.


tk@mac-tk ~ % rkdeveloptool -v
rkdeveloptool ver 1.32
tk@mac-tk ~ % rkdeveloptool ld
DevNo=1	Vid=0x2207,Pid=0x350b,LocationID=1401	Maskrom

Thank you for the help!

Thanks. Very useful info about maskrom and spi flash availability.

It would be so nice if someone actually going to try booting from spi flash. Thanks in a advance.