I would like to be able to flash the necessary boot loaders including u-boot into the SD NAND flash that is soldered to some of the RockPiS boards and then use PXE for the rest of the boot.
I am currently using the Armbian build system to build both the ‘legacy’ and ‘current’ versions of the u-boot debs, but I can’t seem to get a combination that works when written to the SD NAND. Either it fails to boot (nothing shows on the UART console) or it boots but is a legacy version of u-boot that doesn’t find the network interface and hence can’t do PXE.
For all of the following examples I have been using only the first 16MB of the Armbian images that contain the requisite bootloaders (i.e. idbloader.bin, trust.bin and uboot.img). I use the ‘rkdeveloptool’ to write the 16MB image to the SD NAND flash.
-
Armbian_20.05.6:
branch: legacy
storage: SD NAND
result: Boots, output on UART0, no Ethernet interface found in u-boot, so no PXE. -
Armbian_21.05.9:
branch: legacy
storage: SD NAND
result: Boots, output on UART2, no Ethernet interface found in u-boot, so no PXE. -
Armbian_21.05.9:
branch: current
storage: SD NAND
result: No output on UART0 or UART2. -
Armbian_21.11:
branch: current
storage: SD NAND
result: No output on UART0 or UART2 -
Armbian_21.11:
branch: current
storage: uSD card
result: Boots, output on UART2, u-boot finds the Ethernet interface so PXE can work.
It is also worth noting that when I stop at the u-boot console for (5) above I am able to use u-boot mmc commands to successfully interact with the SD NAND chip, so the ‘current’ branch u-boots being built by Armbian can certainly find and use the SD NAND. It just doesn’t work when u-boot and the bootloaders reside in SD NAND.
I am very new to u-boot and/or Device Tree tweaking, so I am not really certain what to do next?
Any advice on how to further debug and/or fix this issue would be greatly appreciated! I really hope someone can help me out because I would also like to learn more about how the earlier boot loader blobs and u-boot work!