Booting Beagleboard Black

Tim Kientzle tim at kientzle.com
Sun Jul 21 21:32:43 UTC 2013


On Jul 21, 2013, at 12:27 PM, Tom Everett wrote:

> ok, so I got the serial cable from Adafruit, and I now get this with a
> crochet-built kernel.  Is this perhaps a bug in crochet?

Possible, though I just this morning I built and booted
a BeagleBone Black system using Crochet.  I believe the
Crochet I'm using here has no changes from what's on github.

My build system is -CURRENT that I rebuilt from source a few days
ago, and I only have one local patch to the -CURRENT sources
I'm using to build the BeagleBone Black image (details below).
For reference, here is my "beagleblack.sh" configuration:

board_setup BeagleBone
option ImageSize 900mb
FREEBSD_SRC=${TOPDIR}/src
FREEBSD_WORLD_EXTRA_ARGS="-DWITH_ARM_EABI -DNOCLEAN"
FREEBSD_KERNEL_EXTRA_ARGS="-DKERNFAST"
FREEBSD_FORCE_BUILDKERNEL=y

I don't think any of the last four items here are necessary
(in particular WITH_ARM_EABI is now the default; I just
haven't removed it from my local config yet).

I then used

$ sudo ./crochet -c beagleblack.sh

to build the image.

> U-Boot SPL 2013.04 (Jul 11 2013 - 21:49:14)
> OMAP SD/MMC: 0
> reading bb-uboot.img
> reading bb-uboot.img
> 
> 
> U-Boot 2013.04 (Jul 11 2013 - 21:49:14)

So MLO and BB-uboot.img are there and working
correctly.

> FreeBSD/armv6 U-Boot loader, Revision 1.2
> (root at bernice, Sat Jul 20 20:59:18 MDT 2013)
> DRAM:    512MB

And U-Boot is correctly loading bbubldr.

> Device: disk
> |
> can't load 'kernel'
> 
> Type '?' for a list of commands, 'help' for more detailed help.
> loader>

What does "ls" here show?

Sounds like the kernel didn't get installed for some reason.
You should be able to look at the UFS partition from
the loader> prompt and figure out what's missing.

Tim

P.S. My only local change right now is a fix for the
'panic: lock "vm map (user)" already initialized' bug that
has been plaguing armv6 for a while:

Index: sys/vm/vm_map.c
===================================================================
--- sys/vm/vm_map.c	(revision 253514)
+++ sys/vm/vm_map.c	(working copy)
@@ -239,8 +239,7 @@
	vm_map_t map;

	map = (vm_map_t)mem;
-	map->nentries = 0;
-	map->size = 0;
+	memset(map, 0, sizeof(*map));
	mtx_init(&map->system_mtx, "vm map (system)", NULL, MTX_DEF | MTX_DUPOK);
	sx_init(&map->lock, "vm map (user)");
	return (0);






More information about the freebsd-arm mailing list