Bwani
Bwani

Reputation: 45

Booting from sdcard on beaglebone black uses the uboot from eMMC instead of the one on sdcard

I am following the below link to make a bootable sdcard for beaglebone black. The only change is I am trying to build a 3.14 version of the kernel instead of the 4.4 version. When I push the boot button before powering on the BBB, I get "CCCCCCCCC..." output on the serial terminal suggesting something wrong with the bootloader on the sdcard. Without pushing the boot button, the uboot on the BBB eMMC gets invoked and then it successfully boots the kernel off of the sdcard. What changes, if any, do I need to make to the uEnv.txt to make this work ?

https://eewiki.net/display/linuxonarm/BeagleBone+Black#BeagleBoneBlack-LinuxKernel

Upvotes: 2

Views: 3149

Answers (1)

Lev U.
Lev U.

Reputation: 181

If you see 'C' characters on the terminal (while the button was pressed on power up) it means that the CPU ROM code didn't found valid loader (MLO) on microSD. ROM code searches for loader over several addresses (0x0, 0x20000, 0x40000 and 0x60000), you can read about it here. Try to write MLO copies at addresses 0x0 and 0x40000:

sudo dd if=./u-boot/MLO of=${DISK} count=1 bs=128k
sudo dd if=./u-boot/MLO of=${DISK} count=1 seek=2 bs=128k

Check if your MLO is less than 128Kbytes.

You can also format microSD card as FAT and put MLO and u-boot.img there, it also works.

Upvotes: 1

Related Questions