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]

Date: Aug, 7, 2009

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. git://git.infradead.org/mtd-utils.git

0xlab will keep maintaining on this 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 Google Code 0xdroid. 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.

Installation

for dummies:

- Format the first partition over than 100MB with VFAT on a SD card. - download the installer uImage.bin into SD card - download the 0xkernel-beagle.bin - download the android-beagle.ubi - save 0xkernel-beagle.bin and android-beagle.ubi into SD card first partition - plug the SD card in beagleboard SD slot and restart the beagleboard - wait for UI installer over - unplug the beagleboard and restart it - enjoy it

for geeks:

- you can check the nandboot page as a reference.