Hardware: logi-bone (R1.0, 2014.03.18), BeagleboneBlack (A6)
Software: pre-built logi image (logibone_r1_ubuntu_v4.img)
My goal is to boot from SD card (which has the logi image) without holding down the Boot switch on the Beaglebone Black (BBB).
The Logi-Bone User Guide (
http://valentfx.com/wiki/index.php?title=Logi-Bone_User_Guide) explains that "...the EMMC port is shared with the GPMC bus and cannot be used simultaneously with GPMC functionality...". This makes me think that BBB will boot from the SD card by default when logi-bone is attached/connected. But, it always to boot from EMMC unless I hold down the Boot switch. Maybe the User Guide meant that the EMMC is unavailable for use but EMMC is not disabled by attaching the logi-bone. Sorry if I misunderstood the information, or missed something.
So far, I've read several options:
1. Ground Pin 44 on P8 header (GPIO2_9, SYS_BOOT2) to change the boot order
2. Erase EMMC contents
3. Delete MLO file from EMMC
4. Modify uEnv.txt (to what ?)
I have not tried any of these. I don't fully understand these options (except maybe #2). Any other options? Any suggestions?
Thanks.
Comments
i would suggest partial option 2. In fact the emmc is partitionned in the same way as the sd card with a boot partition and a filesystem partition. On boot the booleader on the sd card tests if a bootloader exists on the eemc and then tries to boot from it. Thus the solution is to just erase the boot parition of the emmc so no bootloader is detect and the card will boot straight from the sd card. Here are the steps to follow :
1)boot the new Ubuntu on SD card (need to press the boot button) the
beaglebone with logibone unplugged.
2) When booted execute the following
command :
sudo dd if=/dev/zero of=/dev/mmcblk1 bs=1M count=1
This
will erase the first blocks of the eMMC thus disabling booting from it
(can be restored later).
3)Boot the beaglebone with logibone plugged
in, you should not have to press the boot button.
This in facts correspond to options 2, 3.
Option 4 should be do-able, but since the last releases of debian/ubuntu for the beaglebone, the uEnv is now almost empty and its difficult to understand what the bootloader is actually doing. Writing new rules in uEnv is thus quite difficult in my opinion.
Regards,
Jonathan Piat
What are the steps to restore the EMMC bootloader if needed? I am going to try your steps soon. Thanks.
mjones,
I would prefer what you described but I don't know how to make it happen.
@mjones : What image are you using ? DId you try latest Ubuntu image with those results ?
Thanks for links. I am using pre-built logi image (logibone_r1_ubuntu_v4.img) on the sd card. Is this the same as yours?
After booting from sd card, the uname command shows this:
ubuntu@arm:~$ uname -a
Linux arm 3.8.13-bone40 #3 SMP Mon Apr 14 01:27:37 CEST 2014 armv7l armv7l armv7l GNU/Linux
Linux debian-armhf 3.8.13-bone30 #1 SMP Thu Nov 14 02:59:07 UTC 2013 armv7l GNU/Linux on emmc.
Just want to clarify:
1. Current behavior: With logi-bone board attached to BBB and SD card inserted (logi image), I have to hold down the Boot button in order to boot from SD card. If I don't press any button, it boots from emmc.
2. Desired behavior: With logi-bone board attached to BBB and SD card inserted (logi image), no need to hold down any button, it boots from SD card --- i.e. what mjones described.
Thanks.
Here are what I did, in case they are helpful to others:
1. Re-flashed emmc with the "BBB-eMMC-flasher-debian-7.5-2014-05-14-2gb.img.xz"
2. Inserted logi image SD card
3. Booted BBB without holding down any button --- this time it booted from SD card (logi image)
4. (as a test) removed logi image SD card, BBB booted from emmc
5. (as a test) re-inserted logi image SD card, BBB booted from SD card
6. Repeated #5 with logi-bone board attached. Same desired result.
Thank you very much @jpiat and @mjones for all your quick responses and help.