I received my first credit-card size Beagle Bone Black a few days ago. Took some digging, but I figured out how to install Ubuntu for ARM7 on it.
(Check out AdaFruit for their selection of Beagle Bone Black devices and accessories.)
I have since (November 2015) tested the latest images and steps from this document with the smaller (and less expensive) Beagle Bone Green, purchased from Seeed.
There are several Ubuntu solutions for these tiny computers, such as Ubuntu Snappy. But what I wanted was a normal Ubuntu device.
From elinux.org I found instructions for a "flasher image" put together by Robert C Nelson. The image is written to a micro SD card, and when the BBB or BBG boots up, it gets written to the eMMC.
Here is what you do:
Create some new SSH host keys:
Create a new user account, and modify the default password:
Customize the /etc/issue files:
Configure the timezone (default is UTC):
Install NTP:
Change the default hostname:
Like any normal Ubuntu device, turning it into a dev environment is relatively easy:
The problem is that with the small amount of memory on the BBB, anything non-trivial will fail to compile with an out-of-memory error. Without wanting to start messing with cross-compiling, the problem may be mitigated by creating a swap file. For example:
If the swap file needs to be maintained through a reboot, add this line to /etc/fstab:
The cross compilers needed to build for BBB can be installed easily:
However, this gets complicated quickly when dealing with 3rd-party libraries. You must link against the ARM7-HF libraries, not the ones normally installed in a x86/AMD64 environment.
I didn't have the time to figure this out quickly, which is why I chose the route of creating a swap file on the BBB (see above) and using the BBB as a development environment to compile the projects I needed.
I did eventually work out the details of cross-compiling for the ARM-7 BBB and BBG.