SPI + NVMe booting(beta)

@Vladimir_Kozlov We have updated the WiKi page. They’re just a little bit different.

1 Like

When booting Debian from SD, I already have /dev/mtd0 there, does it mean that I just have to update bootloader to the latest version and write Debian or Ubuntu to SSD?

I have an incompatble SSD (Kingston A1000) for booting on it, so the solution of SPI for booting directly on SSD not work with my rockpi 4. But i’m installed a EMMC 32GB;, and install the boot on it, then the rest of linux on SSD, and it’s working well, fast boot and can use my SSD as root directory.

1 Like

Anybody had any luck on using a TOSHIBA RC100 NVMe M.2 Type 2242-S3-B-M/

Hi, having boot problem
Recently bought ROCK PI 4 Model B+ on all china, with SPI Flash and NVME HP EX900.
Without sd card it boots to Armbian - OK.
Then I tried to boot latest Android 10 and Android 9 TV from SD card - both not working.

Then decided to boot from Derbian, but link in Downloads is broken, how ever I found some latest version in git releases ( v20201222). It actually boots ok from SD. But in step “sudo apt-get install -y rockpi4b-rk-u-boot-latest” and pressing “Y” creating Backup takes forever and in some time fails with out of memory.
After googling a bit found that this is known issue and it fixed in new release rockpi4b_debian_buster_xfce4_arm64_20210608_1321-gpt.img.gz

It boots well and I even created backup. But then after reboot I found that mtd is not created:
“cannot access ‘/dev/mtd*’: No such file or directory”

So I currently got stacked, i tried different suggestions from this thread but mtd is not appearing. I tried to upload Derbian directly to NVME and it was Ok, but after rebooting and taking away SD card it’s not booting from NVME it’s booting Armbian.

So it would be nice is somebody could help me how to deal with this.

4B+ doesn’t have on board SPI flash because you can just boot from eMMC.

Currently for the preload Twister OS, the boot order is always eMMC first, so it doesn’t load uSD card images. This is a bug upstream and will be fixed in next release. If you want to boot from uSD card, you can just press and hold the maskrom button(key 1) and power on the board to boot from uSD card.

Thanks for fast reply, actually All China selling ROCK PI 4 Model B+ with SPI Flash, what is mentioning in their specification. I’ve just checked it again and yes it’s on place, see:


Maybe problems with Derbian image or some steps are missing?

Auch, sorry, but what the hell you done with thermocompound and your cpu?.. It’s hurts to see. There is A WAY too many thermocompound there.

Yes, I put a bit too much there. Will handle that.

I’ve tried the same scenario with Ubuntu Server (rockpi4b_ubuntu_focal_server_arm64_20210608_1232-gpt.img.gz) yesterday - same problem. Everything goes smoothly until reboot needed and device should be created: /dev/mtd*
Command “sudo /usr/local/sbin/rockpi4b_upgrade_bootloader.sh” will just repeat same job that was already done. And additional rebooting also didn’t help.

Can you send the output of dmesg | grep mtd when /dev/mtd is not created?

I run the command but it returns nothing. Tried before and after reboot - same result.
I’ve attached complete “dmesg” for both variants (before and after) maybe you’ll detect something wrong.

In addition few minor, on my mind, discrepancies with instruction that should not cause any problems:

  1. Can’t run command for “Get the pub key” (wget) because actually it’s not installed and to install it we need to run next command for “Update APT” first
  2. When installing “linux-4.4-latest” it actually picks "linux-4.4-rock-pi-4-latest " instead.

Hi @jack ,
Tried today to boot from uSD with Android 10, withholding "maskrom button(key 1) " - nothing happens. Only green light is on indicators (even if hold 1 minute), after releasing it Twister OS is booting successfully.
Maybe it’s the same boot error that you have mention earlier? Do you know when this bug will be fixed?

Key 1 = reset, key 2 = maskrom.

Please update to the latest TwisterOS, the boot order issue is fixed already.

Thanks! Tried yesterday “key 2” - and it’s working. So I was able to boot Derbian 10 from mine NVMe (after pressing the button).
However, uSD card was not able to boot with android 10 or Android TV 9. After a long boot it just stopped with the message “Bad Image”. I used images “ROCKPI-4AB-2020-10-15-11-14-gpt.img” and “rockpi-4b-rk3399_box-android9-20200827_1006_94736e8-gpt.img”. They are quite old, maybe obsolete? Do we have something newer?

Updated TwisterOS to the latest version but it does not help.

In general booting from NVMe automatically is still not working for me. Only if press key 2.
Tried again the whole workflow of commands several times (with and without NVMe attached) but
device “/dev/mtd” didn’t appear. So I can’t update boot loader.

Is there any other way how to do that?

Hi - I have the v1.4 RockPi 4 A and have been trying to get the NVME boot to work via SPI flash. I’ve been working with Ubuntu Server as downloaded from the Radxa downloads, and then working through the steps as posted, but changing the ‘4b’ to ‘4a’ in some of the steps. I’m able to reboot the RockPi and I see the dev/mtd0 and all that, but when I run the the update SPI Flash script it doesn’t seem to be aware of the /dev/mtd0 and only allows me to try to update the eMMC or SD card boot loader. I’m stuck at this step and haven’t yet found a way around.

How about flashing the SPI from USB. Check this:

https://wiki.radxa.com/Rockpi4/dev/spi-install

Hi Sir,please check our latest smart tv box here:http://www.h96tvbox.com