BeagleBoard cluster

Warning: Under construction.

This tutorial shows how to create a BeagleBoard cluster. It may work with BeagleBoard-XM without further modifications. The Open Embedded build framework is used to build Beagle Board image, specifically an added layer by Ångström is inherited to simplify image creation.

Requirements
The hardware requirement is setup with at least two BeagleBoard with Ethernet connection(tested with usb-ethernet adapter). It can be accomplished with instructions on BeagleBoard beginners guides and BeagleBoard main page.

For software, the requirement is any Linux distribution supported by Open-Embedded. All project was done using Fedora 16. Make sure to have enough space on hard disk.

How To
The steps are almost the same for Ångström, but a new layers is added to deal with necessary clustering software.

Step 1
Install dependencies for your distribution, it can be found here.

For Fedora 16, first install group 'Development Tools':

sudo yum groupinstall 'Development Tools'

Update all packages:

sudo yum update

Install Open Embedded dependencies:

sudo yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip \ python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \ docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel glibc-static \ gcc binutils pcre pcre-devel git quilt groff linuxdoc-tools patch linuxdoc-tools \ gcc-c++ help2man perl-ExtUtils-MakeMaker tcl-devel gettext ccache chrpath cmake ncurses \ apr

Step 2
Clone Ångström setup scripts:

git clone git://github.com/Angstrom-distribution/setup-scripts.git

Step 3
Add BeagleBoard cluster layer.

Enter source directory(where layers are localized):

cd setup-scripts/sources

Clone BeagleBoard cluster layer:

git clone git://github.com/jonaias/meta-bb-cluster.git

Step 4
Configure, update and build cluster image.

MACHINE=beagleboard ./oebb.sh config beagleboard MACHINE=beagleboard ./oebb.sh update MACHINE=beagleboard ./oebb.sh bitbake bb-cluster-image

After build process (it will take time depending on network and computer specs) a generated image will be available under build/tmp-angstrom_vXXXX_XX-eglibc/deploy/images/beagleboard/.

Transfer generated image to SD card, using the process described in Ångström demo page, under section "How to Unpack and Boot the Demo Image"

Step 5
With BeagleBoard running, using serial or an USB keyboard, login as "root", download and compile MPICH2. wget ./configure make -j2

Bonus
QEMU(Linaro branch) can be used to test generated image:

./qemu-system-arm -M beagle -m 256 -sd /dev/mmcblk0 -serial stdio