Beaglebone Black fails to boot from flash and SD

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.

Any idea what could be going on here?

Please share you serial log…

Regards,

Please share you serial log…

There is no output to the serial console.

So no “CCCCCC”'s… ?

Regards,

Occasionally I see either a single ‘3’ or a single ‘#’ at power on when booting from flash. I have the baud rate set to 115200.

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.

Regards,

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.

As far as the possibility of a corrupted flash or SD card goes, I have re-formatted and re-flashed my SD card using the latest image found here: AM335x 11.7 2023-09-02 4GB microSD IoT - BeagleBoard.

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.