Linux in TF card does not boot with nvme ssd

I have a rock5b(V1.42). I install ubuntu( rock-5b_ubuntu_jammy_kde.img.xz) in nvme ssd through dd command and follow https://wiki.radxa.com/Rock5/install/spi to install spi , but find it does not boot. Then I Erase the SPI Nor Flash. However, Linux in TF card boot normally without ssd installed but it does not boot with nvme ssd installed.

Current priority is nvme higher than sd card. We plan to change this. Maybe below priority is better:

USB Drive -> SD card -> NVMe -> eMMC
2 Likes

I hope this will be realized quickly. And permanently how can I change the boot priority for sd/tf card?

What is current boot sequence?

Just now, I find a solution: I install the spi image for armbian, so the ubuntu in ssd may not be recognized and the armbian in tf can be bootable.

IMO first priority should be “whatever u-boot was loaded from”, unless it’s installed in SPI.

But maybe it would be even better to have a “Press any key for boot menu” prompt - not sure if that’s possible in u-boot.

1 Like

whatever u-boot was loaded from will limit the boot order to the maskrom load order.

Not if you consider SPI.

If you have a bootloader installed in SPI, it can still use a hardcoded boot order, e.g. preferring NVMe over SD/eMMC, so long as SD/eMMC doesn’t also have u-boot on it. However, an SD card with u-boot written to it can function as a “rescue” or “override” boot device. This of course requires that “standard” SD/eMMC images not include u-boot by default.

Still, best solution would be a boot menu like on x86 systems. (UEFI/EDK2 will support that “for free”, but I don’t know whether Rockchip’s u-boot codebase can display an on-screen boot menu.)

Hi @jack, I was wondering if you can prioritize this somehow. IIUC, https://github.com/radxa/u-boot/pull/25 has to be merged for this to happen, and then a new SPI images have to be released, is that correct?

This would really help with my project, since I want to have a way to rescue my system by using the SD card before I make some changes that might lock me out (I have an NVMe drive, but no way of putting that into another system to make changes).

It sounds like you’re having some trouble getting your Rock5b up and running with an NVMe SSD installed. It’s a bit of a puzzle, but I’ll do my best to help.

Now, back to your Rock5b issue. It’s interesting that Linux on the TF card boots normally without the SSD but doesn’t when the NVMe SSD is installed. This could be related to the boot order or the SPI configuration. I recommend double-checking the SPI installation process you followed from the link you provided to ensure everything is set up correctly. It’s possible that the SPI configuration might need some adjustments to recognize the NVMe SSD. i have use this in my new car which i bought recently.

Additionally, you might want to look into your boot settings to ensure that the system is trying to boot from the SSD instead of the TF card. Make sure that your boot priorities are set correctly in the BIOS or UEFI.

If you can provide more specific details about your setup, it would be easier to offer further assistance. Hopefully, we can help you get your Rock5b up and running with the NVMe SSD soon.