BBB booting from SD

Hello all,

I recently acquired a Beaglebone Black to have something small to hack on in my spare time. I have it running the latest FreeBSD 10.3-STABLE image off of the SD card just fine. My issue is that it still requires me to press the 'boot' button in order to load from the SD card, even after I removed the 'active' attribute from the FAT partition on the eMMC, following the instructions on the FreeBSD wiki.

I've looked around for other hints on what I might want to try. At some point, I may just flash the eMMC and install FreeBSD natively on there, however I wanted to just leave it alone for now. Has anyone else encountered this, and if so what was the solution (if there is one)? Any advice would be greatly appreciated.
 
I have not encountered that.
My procedure: Wipe card with zeros
Write Image from workstation to card with usb-microSD adapter
Insert card in BBB and enjoy. On first run the file system will automatically grow to fit the size of the media used.

There is a copy_to_emmc script to copy your install over.

Are you using Windows to write image?
 
I am unsure what the wiki says but you do nothing to the disk. Write image and use. On first use boot may appear stalled while it resizes. GrowFS takes some time and has no visual output. Time depends on SD card size and speed.

My emmc does not have a bootable install on it so it may act differently than yours.
 
I did nothing to the disk, merely took the image, did a 'dd' from zsh on my Mac with the uSD in an SD adapter, as per usual, then inserted the card in the BBB and booted. FreeBSD loads fine off of the uSD card, so long as I press the 'boot' button.

Per the Wiki here: https://wiki.freebsd.org/FreeBSD/arm/BeagleBoneBlack, in order to prevent the BBB from booting off of the eMMC by default if I power down the device, I need to remove the 'active' attribute from the FAT partition on the eMMC with gpart, which I do. Checking the status of the disk with 'gpart list' now shows that the mmcsd1 device no longer has an active attribute set. However, if I remove power from the device and then reboot, it still boots into the Linux distribution on the eMMC. Interestingly, checking with fdisk when in Linux, I see that the boot flag is not set on any of the partitions on the eMMC.

I'm used to dealing with FreeBSD on x86 and amd64 -- this is my first ARM device other than a phone, so a lot of the details of how the system boots, etc., are still things I'm figuring out. I've seen Linux-focused tutorials which suggest just writing zeros to the boot partition of the eMMC, but that seems like kind of a 'nuclear' option.

Frankly, at this point it is more of a minor annoyance combined with the fact that, as far as I can tell, I did what I was supposed to do, which is frustrating. However, I've ordered the crypto cape which, from the pictures, appears as if it will block off top-down access to the boot button. I should still be able to get at it from the side through the Vilros case that it lives in, but right now I've been poking through the hole that exists for access to the button from the top.

Thoughts?
 
Getting back to this now (I've been busy with other stuff and side-projects had to take a back seat)... I tried following the instructions linked on the blog post that mb2015 put up regarding forcing boot to the SD card. Of course, disabling the boot flag on the eMMC didn't work, so I tried to move the MLO file, but couldn't find it anywhere. I tried running the flasher script included in the FreeBSD 11 image I built with Crochet.

That script did something, but upon reload, u-boot told me that it couldn't read the file system. I re-flashed the eMMC with Debian and I'm just going to let it roll like that for now. I can boot FreeBSD just fine off of the SD card -- I just need to figure a way to reach the boot button when I put the crypto cape in. I bought a micro HDMI dongle to take care of the fact that the cape blocks the UART serial pins and therefor I can't console to it with the cape installed. That should arrive shortly and then I'll go from there.

Anyway, thank you for the help earlier.
 
Did you give yourself access to the boot partition?
  • mkdir /emmc.root
  • mount -t msdosfs /dev/mmcsd1s1 /emmc.root
  • ls /emmc.root
The MLO file should be in there. If it's not there in newer snapshots, someone needs to tell me where it is so I can update my instructions.
 
Yes, I followed those instructions. I'll
Poke around in the new image and see what I can see, and I'll let you know.
 
Back
Top