Beagleboard

Random notes for how to do things on the BeagleBoard.

See also TheresSomethingOnMyArm for the work I have done on Chromium and Firefox power measurment.

Serial console

To get a serial console from the ARM, plug the ribbon cable into the header on the beagleboard. This will give a RS-232 signal which you can attach to your machine using my XO dongle and a USB cable.

Display

There's a HDMI port on the beagleboard which provides a DVI signal.

Building an Ubuntu rootfs

$ sudo apt-get install rootstock
$ sudo rootstock --fqdn beagleboard --login ubuntu --password temppwd \
--imagesize 2G --seed xfce4 --dist karmic --serial ttyS2 --kernel-image \
http://rcn-ee.net/deb/kernel/beagle/karmic/v2.6.31.5-x5.3/linux-image-2.6.31.5-x5.3_1.0karmic_armel.deb

Output is a file armel-rootfs-<timestamp>.tgz

Creating SD Card

Shrink the pre-existing FAT partition to ~50 MB. It can be as small as 2MB (the approx size of a OMAP3 kernel), but the extra space allows experimentation. Label the partition boot.

Format the remaining space as ext3, label it rootfs.

# tar xf armel-rootfs-.tgz -C /mount/rootfs
# cp uimage /mount/boot/

Booting MMC

# mmcinit
# fatload mmc 0 0x80000000 uimage
# setenv bootargs console=ttyS2,115200n8 root=/dev/mmcblk0p2 rootwait
# bootm 80000000

Booting Android

There are two buttons on the beagleboard. One is reset, the other is 'option' - it can be read by the bootloader.

Apply power, and shortly on the serial console should be a uboot prompt. To boot of the SD card

mmcinit
fatload mmc 0:1 0x80000000 uimage
setenv bootargs console=ttyS2,115200n8 rw root=/dev/mmcblk0p2 mem=128M devfs=mount rootdelay=1 init=./init 

This will boot Android from the SD card. Unfortunately, Android will go into idle mode a few seconds later without user input.

Android