Manually Booting Board Via U-Boot
Many micro-controllers or single-board computers use U-Boot system to boot the loader. Sometimes it may happen that such a board fails to boot. If the board in question uses U-Boot it should be possible to interrupt the failing boot process in order to enter U-Boot command-line interface by pressing any key as the boot-up prompt suggests. Once we are in the U-Boot command line we can interact with it. To print out list of commands we can enter either ‘?’ or ‘help’.
If the boot-up error is due to failure finding and loading the system loader we can use the U-Boot command-line interface to tell it where to look. The following will set boot command with the loader device pointing to disk 0, slice 3a and loading the system loader binary ubldr.bin (FreeBSD part of loader utilizing U-Boot)
set bootcmd "set loaderdev disk0s3a; fatload mmc 0 $kernel_addr_r ubldr.bin ; go $kernel_addr_r"
If U-Boot fails to find a device tree blob for the board we tell it which one to use via the following command (device tree blob for BeagleBone Green Wireless)
set fdtfile am335x-bonegreen-wireless.dtb
Next assuming the loader device is correct and the system loader and the device tree blob exist we can resume booting
boot