My Beaglebone Black board does not appear to be booting from either the eMMC or an SD card. The flash contains the default distribution that the board shipped with, and the SD card contains a custom Linux distro that I’m working on.
Using a FTDI USB-to-serial cable, I was previously able to observe the boot process from either the eMMC or an SD card. When booting from flash, I would see the user LEDs flashing. Now, only the power LED lights up when I boot from either source, and I don’t see any output on the serial console.
At the time my board stopped booting, I was pressing the spacebar to break into u-boot to examine the environment. I did not make any intentional changes to the boot environment.
I have also tried re-programming the SD card with one of the latest BB linux images.
I’m a bit perplexed as to how this could be happening. My understanding is that the 1st stage bootloader is baked into the boot ROM, which should then look for a bootable image in one of the boot sources. With a valid image on my SD card, I would expect the ROM bootloader to find that image and boot from it.
So it’s reading something off eMMC or microSD… the CCC’s is a sign that it’s moved on too usart boot.
So unless you MLO file is bad on either microSD or eMMC… i’d verify the sysboot pins are pulled high or low outside of the BeagleBone black’s default state.
Probing the sysboot pins, I see SYSBOOT[15:0] = 1011 1111 1100 0011
Breaking that down according to the AM335x technical reference manual:
SYSBOOT[15:14] = 10b ==> 25MHz
SYSBOOT[13:12] = 11b ==> Invalid? Only valid value is 00b
SYSBOOT[11:10] = 11b ==> Invalid? x1b is reserved. Probably don’t care since I’m not using XIP boot
SYSBOOT[9] = 1b ==> ECC handled by NAND
SYSBOOT[8] = 1b ==> 16 bit device
SYSBOOT[7:6] = 11b ==> don’t care for ROM boot
SYSBOOT[5] = 0b → CLKOUT1 disabled
SYSBOOT[4:0] = 0b00011 ==> boot sequence UART0, XIP, MMC0, NAND
Aside from the two possibly invalid values, everything looks normal. These pin values were all sampled using a DMM several minutes after powering on the board.
Does the beaglebone have any kind of factory reset? I’ve tried holding down S2 while powering on the board to force boot from the SD card, but the board still does not appear to be fully booting.
A couple more potentially interesting data points:
The ethernet interface appears to be coming up. If I connect an ethernet cable, the link LED shows activity. I’m still unable to ping the device at the default IP address (192.168.7.2)
When I first connect power, a single ‘#’ character is printed to the serial console.
With an ethernet cable connected , if I hold down the power button long enough for the board to power cycle, a single ‘3’ is printed to the console.
Without an ethernet cable connected, if I hold down the power button long enough for the power to power cycle, a single ‘#’ is printed to the console.