I noticed something that surprised me with the boot order of my rock5b that I can’t really explain and was hoping someone might be able to offer insight.
I have my rock5b’s SPI NOR programmed currently with the release version of the u-boot bootloader to enable NVMe booting. I have my NVMe drive flashed with the official debian release from radxa’s download. I have two SD cards, one 16GB programmed with the official debian image and one 32GB with the official ubuntu image.
If I try to boot with the Debian SD card with the Debian NVMe then the boot order seems to default to the installation on the SD card which I can see by the files that I’ve placed in the default user’s folders. This is generally what I would expect since the SD card can be removed easily while the NVMe is much more inconvenient, however if someone was trying to make a highly secure environment to prevent user tampering it would be the reverse.
Now, if I do the same thing and I put in the Ubuntu SD card instead of the Debian one, instead of it booting from the SD card it boots from the NVMe drive first. I know the Ubuntu SD card works because if I unplug the NVMe drive it will boot from it, but it is booting from the NVMe card if both are installed.
Can anyone explain to me the reason that there is a different boot order for these two SD cards? My understanding is that in both cases the u-boot in the SPI is handling the boot process, so it seems to me like it should make the same choice one way or the other between NVMe and SD cards, but that’s not whats happening. I want to understand this so that I know how to modify u-boot or whatever to achieve a consistent boot order. Does anyone have any insight they could offer?