Jump to content

Recommended Posts

Posted (edited)

Board : radxa rock 5c lite with NVMe HAT and SPI Flash Module.

OS : Armbian 25.11.2 stable 6.1.115-vendor-rk35xx (Debian trixie)

Overlays : rock-5a-spi-nor-flash

SPI Flash is on /dev/mtdblock0

Boot from SD : OK

Boot from SD system on NVMe : OK

----
 

I want to boot from Flash, so I tried `Install/Update the bootloader on MTD Flash` menu on `armbian-config'.

Then I got this message.

No SPI image found.

 

I also updated SPI with `rsetup` from Radxa OS, but it does not work(boot from NVMe failed) either.

 

What do I have to do?

 

 

 

Edited by nemonein
Posted

My guess is that there is some code missing in the board config to make it available. Similar to this:

 

function post_config_uboot_target__extra_configs_for_rock5b_mainline_environment_in_spi() {
	display_alert "$BOARD" "u-boot configs for ${BOOTBRANCH} u-boot config BRANCH=${BRANCH}" "info"
	run_host_command_logged scripts/config --set-val CONFIG_ENV_IS_NOWHERE "n"
	run_host_command_logged scripts/config --set-val CONFIG_ENV_IS_IN_SPI_FLASH "y"
	run_host_command_logged scripts/config --set-val CONFIG_ENV_SECT_SIZE_AUTO "y"
	run_host_command_logged scripts/config --set-val CONFIG_ENV_OVERWRITE "y"
	run_host_command_logged scripts/config --set-val CONFIG_ENV_SIZE "0x20000"
	run_host_command_logged scripts/config --set-val CONFIG_ENV_OFFSET "0xc00000"
}

@schwar3kat any chance to have a look?

Posted

@Werner Thank you for the reply.

Unfortunately, I have little knowledge about building.

However, I did find the code for rock-5c(rock-5c.conf), it's extremely shorter than the rock-5b. It has only 27 lines. Of course there are no function post_config_uboot_target__extra_configs_for_rock5c_mainline_environment_in_spi()

 

It means rock-5c.conf has not finished yet.

Can you guys take a look?

Posted

The rock-5b SPI uBoot compile config suggested by Werner is for the mainline uBoot and it didn't work with the uBoot on rock-5c although I thought it might. 

I tried to build you an unsupported image using the uBoot config from rock-5b, but unfortunately the build failed.   

Rock 5b is heavily hacked for uBoot to use a hybrid mainline uBoot with bits of Rockchip stuff. 
The function pre_config_uboot_target__rock5b_patch_uboot_dtsi_for_ums() won't work because the rock-5c dtsi doesn't have the same stuff, but this won't matter for vendor build.


I will spend a bit of time trying to get it to build with all of the relevant rock-5b conf mods, but that is about the limit of what I can do because I don't have an NVME hat or a SPI flash module or the lite version of the radxa rock 5c or experience with the SPI subsystem.
 

The NVME hat may not have the same device tree overlay as the built in NVME on the rock-5a.
There is no reason to believe that the rock-5a-spi-nor-flash device tree overlay for the rock-5a will work correctly for the rock-5c.
However you seem to indicate that the SPI module and NVME is working/accessible using the vendor kernel.  This does not mean that they will work with uBoot.
 

This may be relevant https://forum.armbian.com/topic/47090-radxa-rock5c-pentahat-and-emmc
 

Building Armbian yourself is pretty easy if you want to experiment with current and edge mainline kernels.
https://docs.armbian.com/Developer-Guide_Overview/

Posted (edited)

Thank you all guys.

I tried another way, and finally successfuly boot from NVMe.

For others whoever might have this situation, I leave a note here.

  1. Get the official Radxa OS for rock (5c|5c lite).
  2. Get the vendor Armbian for rock (5c|5c lite).
  3. Make a sd card with Radxa image.
  4. Plug sd card into PC(not Rock 5c), and copy Armbian img file(ex. Armbian_25.11.1_Rock-5c_trixie_vendor_6.1.115_minimal.img) to the sd card(to /home/radxa or wherever).
  5. Boot Rock 5C(lite) with the sd card.
  6. Login to Radxa OS, run rsetup and set overlay with SPI boot loader. Reboot.
  7. run rsetup again, and update the SPI Bootloader. There are 2 bootloader options, rock 5c and rock 5c SPI bootloader, and I chose SPI bootloader.
  8. Then, dd Armbian Image to NVMe device. There's a Instructions. (dd if=Armbian_xxx.img of=/dev/nvme0n1 bs=1M status=progress)

 

Power off, remove SD card and Power On!

You can boot from NVMe!

Edited by nemonein

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines