PXE boot using u-boot in SD NAND?

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.

  1. Armbian_20.05.6:
    branch: legacy
    storage: SD NAND
    result: Boots, output on UART0, no Ethernet interface found in u-boot, so no PXE.

  2. Armbian_21.05.9:
    branch: legacy
    storage: SD NAND
    result: Boots, output on UART2, no Ethernet interface found in u-boot, so no PXE.

  3. Armbian_21.05.9:
    branch: current
    storage: SD NAND
    result: No output on UART0 or UART2.

  4. Armbian_21.11:
    branch: current
    storage: SD NAND
    result: No output on UART0 or UART2

  5. 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!