BBB Rev C SD card boot issue

This forum is for supported devices using an ARMv7 Texas Instruments (TI) SoC.

BBB Rev C SD card boot issue

Postby sdrider » Sat Jan 10, 2015 9:32 am

I own two BeagleBone Blacks. One is a rev B I've had for a few years and one is a rev C I just acquired.

Upon receiving the rev C, I immediately set about following the archlinuxarm.org instructions for building the SD card. Easy enough. I then plug in my SD card, hold down the "S2" power button (nearest SD card) - and nothing happens. No 4 blue LEDs - just the single LED and nothing.

A bunch of internet searching shows I wasn't alone, a few posts suggested that on the Rev C board the S3 button enables the "boot from SD card" behavior instead. So I tried this and had progress - all 4 lights came on, but still the BBB never booted. At this point I vaguely recall having this issue with my previous BBB and I desperately wished I knew where my FTDI cable went.

However, since I still have my rev B BBB running and I suspected something wrong with the boot uEnv, I logged in to that device and took a look. Sure enough, I had a modified uEnv.txt that was very different than the default one in the install tarball. I copied the modified one off of my BBB rev B onto the sdcard for my rev C, rebooted holding S3 button and it booted just fine!

The uEnv.txt out of the BeagleBone-bootloader.tar.gz is simply:

$this->bbcode_second_pass_code('', '> cat uEnv.txt
optargs=coherent_pool=1M
')

The modified one that works for me is:

$this->bbcode_second_pass_code('', '> cat uEnv.txt
uenvcmd=run findfdt; if test $board_name = A335BNLT; then i2c mw 0x24 1 0x3e; setenv mmcdev 1; mmc dev ${mmcdev}; if mmc rescan; then setenv mmc1 1;else setenv mmc1 0;fi;fi;setenv mmcdev 0; mmc dev ${mmcdev}; if mmc rescan; then setenv mmc0 1;else setenv mmc0 0;fi;if run loaduimage; then run loadfdt;run mmcboot;fi;
mmcroot=/dev/mmcblk0p2 rw
loadfdt=ext4load mmc ${mmcdev}:2 ${fdtaddr} /boot/dtbs/${fdtfile}
loaduimage=if ext4load mmc 0:2 ${loadaddr} /boot/zImage; then setenv mmcdev 0; else setenv mmcdev 1; if test $mmc0 = 1; then setenv mmcroot /dev/mmcblk1p2 rw; fi; ext4load mmc 1:2 ${loadaddr} /boot/zImage; fi
mmcboot=echo Booting from mmc ...; run mmcargs; bootz ${loadaddr} - ${fdtaddr}
')

I cobbled this together from previous searches when I had problems booting my rev B a year or two back. Back then I had found a thread here on the forums proved very helpful and had the magic bits that got it working for me: viewtopic.php?f=48&t=5809

I share the information here in the hopes that this helps someone else who might get a shiny new BBB board and end up in the same stuck spot as me after following the install instructions on the ArchLinuxARM page. Or even better if this information helps a maintainer fix the default BeagleBone-bootloader.tar.gz image and install instructions.

TL;DR:
If you just purchased a BBB Rev C and the SD card install instructions aren't working for you:

    1. You must press the S3 button on boot (right next to ethernet port) instead of the S2 button
    2. Try modifying your uEnv.txt on the first /boot partition to the above lines

sdrider
 
Posts: 29
Joined: Sat Aug 10, 2013 3:56 am

Re: BBB Rev C SD card boot issue

Postby pedronf65 » Mon Mar 02, 2015 6:49 pm

After making a new SD card with Arch Linux I'm also having this issue. If I insert my SD card and I don't press any button when applying power, then I have three LEDs ON but the boot process will hang there. If I do the same while pressing the BOOT button then it will boot from my SD card.
I checked the devices names after booting from emmc, the emmc will be /dev/mmcblk0. If I insert the SD card now it will go into /dev/mmcblk1.
If I press the BOOT button and boot from my SD card, then I will have the SD card as /dev/mmcblk0 and the emmc as /dev/mmcblk1. Aha!
Looking at the git history for uEnv.txt I can see that it used to handle these device name changes but now it is only one line long with "optargs=coherent_pool=1M". Why?!?
I still have no solution for this but it is definitely related with device names and uEnv.txt default behavior.
I hope someone has found a solution for this and post it here :-)
pedronf65
 
Posts: 13
Joined: Mon Mar 02, 2015 5:15 pm


Return to Texas Instruments (TI)

Who is online

Users browsing this forum: No registered users and 3 guests