USB to a bunch of single pole connectors (to connect single wires to a pin header). Mine is a 10 pole 3.3V MPSSE cable. A Raspberry PI console cable should be readily available and does the same (and you wouldn't have to bind back 7 cables you aren't using to keep the setup neat). To connect it to the board, ground goes to the pin tagged J1 (for this cable, black), TCK (orange, output) goes on pin 4 and TDI (yellow, input) on pin 5. Since the bonebox doesn't expect a serial console to get connected (Linux uses the USB device port for console, too), it lacks an opening for that cable. I drilled a 4mm hole into the upper cover with a hand drill with a wood drill bit (if you use electric, go slow). 4.5mm would have made fitting the third connector through easier.

Next comes preparing software for it. It comes with Angstrom Linux and I'm sure that's a deserving OS and all that, but I'm a NetBSD developer and want to use NetBSD wherever compatible with the purpose of the device (which this thing hasn't yet besides being cute, so definitely, NetBSD goes on it). This precipitates one of the most difficult decisions to be made: choosing its name. All my devices are named after lesser constellations. Studying the list of constellation names yields *drumroll* pyxis, the compass box.

With this decision made, I can create a custom kernel config for pyxis, named PYXIS, in sys/arch/evbarm/conf:

As you can see, this is just adjusting for local preferences and in fact I'll be building the BEAGLEBONE kernel as well. I'll first get the general software built from a -current src tree as can be gotten e.g. by

cvs -q -d anoncvs@anoncvs..netbsd.org:/cvsroot get -PA src

by running build.sh from the src directory, like so:

./build.sh -x -U -m evbearmv7hf-el release

This means: I want to build X11 (-x), I want to build unprivileged and create an owner and permissions map instead (-U) since the image build will need it, and the architecture to build is evbarm with little-endian earm v7 and hard float ABI, yielding

I'm building on a pretty -current NetBSD/amd64, but any other Unix from this century with a development suite (compiler and a few tools) installed should serve as well. Cygwin might do as well.Time for coffee and my mother's Quarkstollen.

I mount /dev/ld0e /mnt to copy the kernel I built, .../compile/PYXIS/netbsd.ub to /mnt as pyxis.ub, and to edit uEnv.txt to boot pyxis.ub instead of bboard.ub or the also present bbone.ub.Alas, the msdos filesystem is broken (the joys of -current ... I'll check what goes wrong there later), so I re-format it and copy the kernel image onto it and create a new uEnv.txt.

Kudos to John Klos and his mail to port-arm in July which provided invaluable pointers; it's 4 months later and booting directly off the sdcard works now, and getting it partitioned etc is much easier now too.

At present only 622MB of the sdcard are in use and the root filesystem is pretty full, and the sdcard is significantly larger, so I'll grow the root filesystem using the recipy from the ports/evbarm/beaglebone wiki page.

This done, reboot, and getting pyxis set up like any other NetBSD: editing rc.conf, creating users, building and installing packages, ...

A lot of devices the BeagleBone Black contains aren't yet supported; progress reports on that is going to be subject to a later post.