Always boot from SD card

Hello

Sorry, purhaps is this already somewere posted, but i can’t find a answer:

How can i change the settings, that the BB-Black automaticaly always boots from the SD Card? I don’t want to press always the boot-button.

Thanks for help!

DM

The default boot loader in the on-board emmc will look for an SD card
and try to boot it if found. The boot button is generally only
necessary to force booting from the SD card if your emmc gets corrupt.

Hello

Sorry, purhaps is this already somewere posted, but i can't find a
answer:

How can i change the settings, that the BB-Black automaticaly always
boots
from the SD Card? I don't want to press always the boot-button.

The default boot loader in the on-board emmc will look for an SD card
and try to boot it if found. The boot button is generally only
necessary to force booting from the SD card if your emmc gets corrupt.

What you said is mostly correct, but without the button pressed, the
processor loads MLO and u-boot from emmc and the u-boot script checks to
see if the SDCard is installed and then loads Env.txt, zImage/uImage, etc
from the SDCard. Pressing the boot button makes the processor load MLO and
u-boot from the SDCard. This ensures that you cannot brick the BBB.

Regards,
John

It seems BBB Rev C forces you to press the button to boot from the SD card. I have been unable to get it to boot from the SD otherwise. Tested on 6 BBB Rev C (what you describe is what I see on Rev B and Rev A6A)

clear the boot partition on eMMC?

I actually had some success by removing the MLO file from the eMMC. I wish I didn’t have to do this however.
Out of the box rev B and A6A both boot correctly, I wonder what brought upon the change for C?

Well, it has a sane boot-loader installed by default now. It won't
just boot from the microSD, just because the microSD card is present.
Instead it's looking for an uEnv.txt file with a valid variable
"uenvcmd" telling it what to boot from.

If you want the prior arrangement flash the ancient Angstrom image into eMMC.

http://beagleboard.org/latest-images

Regards,

Hai friends,
I have a problem with bbb that is just opposite of yours. I am trying to boot wec 7 (have files nk.bin, mlo, ebootsd.nb0) on bbb through sd card. but its not booting any way,
I tried it using boot button pressing,hp format tool,ti boot utility. I hope that you can answer my question.
Please reply me with the procedure that you followed.

thanks in advance…

Hi,

I’m currently having this issue of a Rev C board no longer booting my SD image created for a Rev B board. Could you give an example of what I should add to the uEnv.txt file to get it to boot properly?

regards

Matt.

It's looking for a file named "uEnv.txt" with a variable call "uenvcmd" set..

uenvcmd=load mmc 0:1 /boot/zImage 0x.... ; load mmc 0:1
/boot/am335x-boneblack.dtb 0xxyz... ; bootz 0x - 0xxxyz

Regards,

Hi,

Yes I have uEnv.txt file, but on Rev B all I needed was this:

optargs=“consoleblank=0” capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN capemgr.enable_partno=BB-UART1,BB-UART2

Ok, so am I correct in assuming:

uenvcmd=load mmc 0:1 /boot/zImage 0x… ; load mmc 0:1 /boot/am335x-boneblack.dtb 0xxyz… ; bootz 0x - 0xxxyz

translates to:

uenvcmd=load mmc [device:part] /boot/zImage [load-address]; load mmc [device:part] /boot/am335x-boneblack.dtb [fdt-address]; bootz [load-address]

which should become this…?

uenvcmd=load mmc 0:1 /boot/zImage 0x82000000; load mmc 0:1 /boot/am335x-boneblack.dtb 0x88000000 ; bootz 0x82000000

My SD image is built for Rev B so it creates a uImage not a zImage. is this going to be an issue? I can re-build as zImage. or do I simply change to:

uenvcmd=load mmc 0:1 /boot/uImage 0x82000000; load mmc 0:1 /boot/am335x-boneblack.dtb 0x88000000 ; bootu 0x82000000

One question, is the SD card mmc device 0? I assumed this would be the nand device, and hence I should be using mmc 1:1 ?

Thanks for your help.

Hi,

Yes I have uEnv.txt file, but on Rev B all I needed was this:

optargs="consoleblank=0"
capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN
capemgr.enable_partno=BB-UART1,BB-UART2

Ok, so am I correct in assuming:

uenvcmd=load mmc 0:1 /boot/zImage 0x.... ; load mmc 0:1
/boot/am335x-boneblack.dtb 0xxyz... ; bootz 0x - 0xxxyz

translates to:

uenvcmd=load mmc [device:part] /boot/zImage [load-address]; load mmc
[device:part] /boot/am335x-boneblack.dtb [fdt-address]; bootz [load-address]

which should become this..?

uenvcmd=load mmc 0:1 /boot/zImage 0x82000000; load mmc 0:1
/boot/am335x-boneblack.dtb 0x88000000 ; bootz 0x82000000

My SD image is built for Rev B so it creates a uImage not a zImage. is this
going to be an issue? I can re-build as zImage. or do I simply change to:

uenvcmd=load mmc 0:1 /boot/uImage 0x82000000; load mmc 0:1
/boot/am335x-boneblack.dtb 0x88000000 ; bootu 0x82000000

uImage = bootm
zImage = bootz

One question, is the SD card mmc device 0? I assumed this would be the nand
device, and hence I should be using mmc 1:1 ?

nand =/= eMMC, eMMC is just a soldered on microSD device...

u-boot:
microSD 0
eMMC 1

Regards,

Ok thanks. I currently have this:

uenvcmd=load mmc 0:1 0x82000000 /boot/uImage; load mmc 0:1 0x88000000 /boot/am335x-boneblack.dtb; bootm 0x82000000

But as yet it’s not working. Unfortunately I don’t ahve the serial debug cable with me so I can’t see where it is failing, hopefully I will have this tomorrow and see what’s going on.

Ok thanks. I currently have this:

uenvcmd=load mmc 0:1 0x82000000 /boot/uImage; load mmc 0:1 0x88000000
/boot/am335x-boneblack.dtb; bootm 0x82000000

bootm 0x82000000 - 0x88000000

Otherwise the kernel won't find the *.dtb (the - is for the empty
initramfs location)

But as yet it's not working. Unfortunately I don't ahve the serial debug
cable with me so I can't see where it is failing, hopefully I will have this
tomorrow and see what's going on.

Regards,

Ok thanks.

I’ve left the office now so ill give it a go in the morning.

Ok, I got this working this morning with the following uEnv.txt additions:

mmcroot=/dev/mmcblk0p2 rw

mmcrootfstype=ext4 rootwait fixrtc

console=ttyO0,115200n8

kernel_file=uImage

loadaddr=0x82000000

fdtaddr=0x88000000

loadkernel=load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${kernel_file}

loadfdt=load mmc ${mmcdev}:${mmcpart} ${fdtaddr} /boot/am335x-boneblack.dtb

loadfiles=run loadkernel; run loadfdt

mmcargs=setenv bootargs console=tty0 console=${console} ${optargs} root=${mmcroot} rootfstype=${mmcrootfstype}

uenvcmd=run loadfiles; run mmcargs; bootm ${loadaddr} - ${fdtaddr}

Thanks for the help! :slight_smile: