0xdroid beagle-cupcake-0x1 release note

Hi List,
We 0xlab had done some Android porting on beagleboard.
This is our first code drop, and we will keep working on this.
You can see the 0xdroid project on http://gitorious.org/0xdroid.
If you are interested in 0xdroid project, mailing list is


– The following is release note –
Release Note: beagle-cupcake-0x1
0xlab is very glad to release our works about running Android on
Beagle board and this release is based on the cupcake branch.
We were busy on making improvements recently. This release note covers
our version naming rule, the differences from the
original cupcake, a brief introduction regarding how to setup the
development environment and how to work with us.

Version: beagle-cupcake-0x1

Branch naming rule:

  • [HW-board/arch]-[Android-branch]

Release naming rule:

  • [branch]-0x[release_number]

Release Image:
Version number comes from the SHA1 hash code of all projects’ HEAD.
Therefore this number can be viewed as a unique ID of this image.
There is a version.txt in the root directory. It contains the unique
hash code and they are the HEAD commit from each project.

What’s new:
What we changed from original cupcake:

  • Product for beagleboard
  • Revised initialization sequence for Beagleboard related settings
  • Replace yaffs2 with new and fast flash file system – ubifs
  • Add software cursor and new keyboard layouts
  • ARMv7 tuned GNU toolchain based on gcc 4.4.1 (ARM NEON and Thumb2)
  • Tweaked memory operation routines for Cortex A8 to gain better performance
  • Enable ALSA for sound.
  • Provide GPIO keyboard
  • Fix the framebuffer flipping issue
  • Disable battery check for beagleboard
  • Disable unusable camera/video force rotation
  • Dalvik backports from donut
  • Several bug fixes.
    Currently we have 16 projects into our own repository and we made 69
    patches in this release. The full change log is as the attached file.
    We release the source code on http://gitorious.org/0xdroid and we will
    keep working there.

How to build:
$ mkdir beagle-cupcake
$ cd beagle-cupcake
$ # initialize the workspace
$ repo init -u git://gitorious.org/0xdroid/manifest.git -b beagle-cupcake
$ # make buildspec.mk set target product
$ echo “TARGET_PRODUCT := beagleboard” > buildspec.mk
$ # If you want to put prebuild demo apks you can add:
$ echo “INSTALL_PREBUILT_DEMO_APKS := true” >> buildspec.mk
$ # pull the whole workspace
$ # because of the host server may be too slow or encounter some
other network issues keep repo sync if failed.
$ # This step will take a long time (depends on your network)
$ cd .repo/manifests/
$ git checkout -b release/beagle-cupcake-0x1 beagle-cupcake-0x1
$ repo sync
$ # Then choose the tag of beagle-cupcake-0x1
$ repo forall -c “git checkout -b beagle-cupcake-0x1”
$ # after pull all stuff, just make, and wait for a long time.
(depends on you CPU power and memory size.)
$ cd …/…/
$ make # if you have 4 cpus you can use “make -j4”

After build success you can do:
$ cd out/target/product/beagleboard
$ wget http://downloads.0xlab.org/release/beagle-cupcake-0x1/ubi_scripts.tgz
$ tar xvf (where you put ubi scripts)/ubi_scripts.tgz
$ mv ubi_scripts/* .
$ ./generateubifs.sh

If you encounter problem on mkfs.ubifs, you may need to
$ sudo apt-get install liblzo2-dev uuid-dev

Note: compile your own mkfs.ubifs and ubinize is recommended.

0xlab will keep maintaining on beagle-cupcake branch. If you are
interested in following the latest development,
you can just follow the branch but not the release tag.

Bug report:
When you find any bug from this image. You can send a ticket to
Please point out the version number from /version.txt and the image built date.
This information could help developers know how to reproduce it or
determine if it is a known/solved issue.

for dummies:

for geeks: