Holding BOOT still starts factory 2022 eMMC U-Boot. I cannot get the first stage bootloader source to be from my SD card. I cannot boot or flash modern SD images.
I’m confused about how the BOOT button actually changes the boot path on BeagleBone AI-64.
It looks like holding BOOT makes the SD card the only boot option (MMC/SD as both primary and backup). From my understanding, there should be no way the eMMC boots… unless the MMC/SD firmware explicitly bounces the boot back to the eMMC.
What I’m seeing instead:
Note the board still has the original 2022 U-Boot on eMMC. This is a fresh factory board never touched.
I hold BOOT, apply power, and that old 2022 eMMC U-Boot still starts.
The 2022 eMMC U-boot then tries to boot my Yocto image from the SD card.
Boot then fails because that old U-Boot cannot load /k3-j721e-beagleboneai64.dtb… my yocto image does not have this dtb at root.
My expectation was that with BOOT held on power cycle, the eMMC U-Boot would never run at all, ROM / SoC baked early boot would load everything from the SD card. U-boot on my SD card would then apply and load device tree stuff, and then fire up Linux.
Questions:
Is there a reliable way to force a full boot chain (tiboot3 / tispl / U-Boot) from the MMC/SD on this board? Importantly, this is without any involvement of U-boot on the eMMC …From my understanding, the BOOT button should force this, but does not.
The best method, insert power, hold boot, toggle reset, lift up boot.
The R5 is usually so quick to read from the eMMC, that it can boot up before the user button is detected by the bootrom on a fresh power up, from any small voltage on the pin.
One sure way, when you boot into your image.. clear the boot0 partition on the eMMC: