Beaglebone Black stuck after interrupting transfer to eMMC

Hello,
I was upgrading my beaglebone black from 12.04 to 13.04 and referencing the following page.
http://eewiki.net/display/linuxonarm/BeagleBone+Black#BeagleBoneBlack-uEnv.txtbasedbootscript

I worked through all of this without a problem. I got to the step to transfer to “copy your microSD card to eMMC”, but didn’t realize how much time I was supposed to give it and basically interrupted it right away during programming. Now it won’t boot. I was hoping I’d be able to force it to boot from the SD card aging and restart the process, but no luck.

If anyone is willing to give some advice, I would be very grateful. I did search this out, but didn’t see anything that applied. I hope I’ve provided enough information. I attached a text file with my boot output via my FTDI cable. I also attached the uEnv.txt which is the same as the eewiki page references.

Thanks,
Mike

uEnv.txt (1.01 KB)

Boot_Output.txt (3.11 KB)

I would take it back to the factory setting. Make sure that all works. Then try it again.

http://circuitco.com/support/index.php?title=Updating_The_Software

Gerald

Or, you can just boot it off of the uSD card, but this of course wont tell if the eMMC has failed. I have followed those instructions myself, but have not transferred to eMMC yet ( as i still have lots of work to do before my project is ready for prime time ).

I did however read the transfer to eMMC instructions, and for what it is it did seem fairly complex. I’d try to boot off the sd card, and try to see / remember if you missed a step. Also, do you have a serial debug cable / module ? In this regard this could save you a lot of hassle . … as uboot / the OS will tell you exactly what is wrong.

That’s the problem. I can’t do anything with it right now (unless I’m missing something). All blue led’s are lit. I can’t ssh into it, or communicate over USB. I do have a debug cable which is how I go the output file I attached, but I don’t know enough about it to know if or how to fix it with that.

I’d like to boot from the SD card, but it won’t. Other than the button technique, not sure how I can force it. I am not able to access anything to delete the MLO file. I do have a cable and posted the output but to be honest, it doesn’t tell me a whole lot.

The button is there to force the boot form SD instead of the eMMC. That is is sole purpose. However, if the SD card is not made correctly, then it can’t boot from the SD. IF you do not follow the correct procedure in making the SD card, then you can have issues.

Gerald

Mike,

Do you have access to a Linux machine with an sd card reader, with a uSD to sd card adapter ? This sounds like the uEnv.txt file on the sd card and the eMMC are either missing, or misconfigured. But if you could pastebin the serial debug output we could have a much better idea of what is going on.

Once you get the sdcard booting, then it becomes much easier to troubleshoot / fix the onboard emmc. Just a matter of mounting the right partitions, and putting the right files in the right places. Also, a stock Angstrom emmc flasher image could help reinstate the BBB in case you do not have access to a linux machine with sd card access.

Right. I know the SD card was made correctly because I booted into 13.04 before attempting to transfer to eMMC. It worked great. Had I gave the transfer the time it needed, I’m fairly confident that would have worked well too. I haven’t changed anything on the SD card, so was assuming that was still the same. Would something have changed on that during the transfer?

AH ok i completely missed the attachments on your first post, i will give them a quick looksee

Thanks William. I am running a linux machine and do have a reader and adapter. The output is posted below. uEnv.txt is configured correctly on the SD card.

`

U-Boot# 
U-Boot SPL 2013.07-dirty (Aug 30 2013 - 18:23:30)
musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, HB-ISO Rx, HB-ISO Tx, SoftConn)
musb-hdrc: MHDRC RTL version 2.0
musb-hdrc: setup fifo_mode 4
musb-hdrc: 28/31 max ep, 16384/16384 memory
USB Peripheral mode controller at 47401000 using PIO, IRQ 0
musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, HB-ISO Rx, HB-ISO Tx, SoftConn)
musb-hdrc: MHDRC RTL version 2.0
musb-hdrc: setup fifo_mode 4
musb-hdrc: 28/31 max ep, 16384/16384 memory
USB Host mode controller at 47401800 using PIO, IRQ 0
OMAP SD/MMC: 0
mmc_send_cmd : timeout: No status update
reading args
spl: error reading image args, err - -1
reading u-boot.img
reading u-boot.img

U-Boot 2013.07-dirty (Aug 30 2013 - 18:23:30)

I2C:   ready
DRAM:  512 MiB
WARNING: Caches not enabled
NAND:  0 MiB
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
*** Warning - readenv() failed, using default environment

musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, HB-ISO Rx, HB-ISO Tx, SoftConn)
musb-hdrc: MHDRC RTL version 2.0
musb-hdrc: setup fifo_mode 4
musb-hdrc: 28/31 max ep, 16384/16384 memory
USB Peripheral mode controller at 47401000 using PIO, IRQ 0
musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, HB-ISO Rx, HB-ISO Tx, SoftConn)
musb-hdrc: MHDRC RTL version 2.0
musb-hdrc: setup fifo_mode 4
musb-hdrc: 28/31 max ep, 16384/16384 memory
USB Host mode controller at 47401800 using PIO, IRQ 0
Net:   <ethaddr> not set. Validating first E-fuse MAC
cpsw, usb_ether
Hit any key to stop autoboot:  0
gpio: pin 53 (gpio 53) value is 1
mmc0 is current device
gpio: pin 54 (gpio 54) value is 1
SD/MMC found on device 0
reading uEnv.txt
1039 bytes read in 4 ms (252.9 KiB/s)
Importing environment from mmc ...
gpio: pin 55 (gpio 55) value is 1
Checking if uenvcmd is set ...
gpio: pin 56 (gpio 56) value is 1
Running uenvcmd ...
reading zImage
3343296 bytes read in 383 ms (8.3 MiB/s)
reading /dtbs/am335x-boneblack.dtb
** Unable to read file /dtbs/am335x-boneblack.dtb **
Kernel image @ 0x80200000 [ 0x000000 - 0x3303c0 ]
ERROR: Did not find a cmdline Flattened Device Tree
Could not find a valid device tree

uenvcmd was not defined in uEnv.txt ...
trying eMMC (BeagleBone Black) ...

mmc_send_cmd : timeout: No status update
mmc1(part 0) is current device
gpio: pin 54 (gpio 54) value is 1
SD/MMC found on device 1
reading uEnv.txt
1065 bytes read in 4 ms (259.8 KiB/s)
Importing environment from mmc ...
gpio: pin 55 (gpio 55) value is 1
Checking if uenvcmd is set ...
gpio: pin 56 (gpio 56) value is 1
Running uenvcmd ...
reading zImage
3343296 bytes read in 384 ms (8.3 MiB/s)
reading uInitrd
2797279 bytes read in 322 ms (8.3 MiB/s)
reading /dtbs/am335x-boneblack.dtb
** Unable to read file /dtbs/am335x-boneblack.dtb **
Kernel image @ 0x80200000 [ 0x000000 - 0x3303c0 ]
## Loading init Ramdisk from Legacy Image at 81000000 ...
   Image Name:   initramfs
   Image Type:   ARM Linux RAMDisk Image (uncompressed)
   Data Size:    2797215 Bytes = 2.7 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
ERROR: Did not find a cmdline Flattened Device Tree
Could not find a valid device tree

uenvcmd was not defined in uEnv.txt ...
halting ...

U-Boot# 

`

ERROR: Did not find a cmdline Flattened Device Tree
Could not find a valid device tree

uenvcmd was not defined in uEnv.txt …
halting …

Ok so it seems that maybe you forgot a step from RCN’s instructions . . . so remount that sdcard and make sure that /boot/dtbs/am335x-boneblack.dtb exists. If it does not then scroll down to RCN’s instructions where it says . . .

export kernel_version=3.X.Y-Z

sudo mkdir -p /media/boot/dtbs/
sudo tar xfov ./linux-dev/deploy/${kernel_version}-dtbs.tar.gz -C /media/boot/dtbs/

Issue these commands and you should now have that file. also . . .export kernel_version=3.X.Y-Z <---- this is going ot depend on the kernel version you built. As I have not followed these instructions personally in over 2 months, I do not know which kernel version is is using currently. But, you can also navigate into the /linux-dev/deploy/ direction and issues ls -al to find this information out, as well as navigate directly into the proper directory, and then copy it over to the right location on the SD card ( /boot/dtbs/).

Dont worry though this is fixable. I have made similar “silly” mistakes myself. Actually now when i do these commands myself, I keep a text file log of every single step i take, because I do tend to miss steps rather frequently if I dont.

You saved me. Thanks for your help. I wasn’t comfortable with that step, but thought it did what it needed. Those files were not there. Got em now!

Thanks again,
Mike

Very good :slight_smile:

I have the exact same problem. I started flashing a BBB but the user LEDs were all blinking, so I thought the flash had failed and unplugged the board from power. Now the board won’t boot from internal eMMC or uSD. My uSD has the dtbs files. I’ve tried forcing boot to uSD with boot button. The serial debug cable is the only way I can get output. All four user LEDs are solid. Any ideas?

BBB output.txt (986 Bytes)

A bit more information would be helpful.

My previous post has an attachment with the output from the BBB. As it turns out, when the flash failed it also somehow caused the SD card to corrupt itself (bad uSD card probably). I replaced the uSD card and now the device boots just fine! Sorry for the hassle :slight_smile: