Printable Version

Android-Cupcake porting guide to BeagleBoard

From labs.embinux.org

Jump to: navigation, search

Contents

Download Android build for Beagle Cupcake stable

Browse git

$ mkdir ~/Android_build
$ cd ~/Android_build
$ repo init -u git://labs.embinux.org/embinux-android-build/android-omap3/repo/android/platform/manifest.git -b beagle-cupcake
$ repo sync
$ make

Note: For complete info on repo check following links

  1. http://source.android.com/download
  2. http://source.android.com/download/using-repo

Compile Kernel

Kernel is located at

<Android_Build>/kernel

Set Environment variable $CC_PATH to toolchain path

$ export CC_PATH=/opt/arm-2007q3/bin/arm-none-linux-gnueabi-
$ cd <Android_Build>/kernel
$ ../vendor/embinux/support-tools/beagle_build_kernel.sh

Android's Root File System (RFS)

After build compilation , RFS is generated at

~/Android_build/out/target/product/generic
$ cd  ~/Android_build/out/target/product/generic

Create Android_RFS directory and copy contents

$ mkdir ~/Android_RFS
$ cp -a root/* ~/Android_RFS
$ cp -a data/* ~/Android_RFS/data/
$ cp -a system/* ~/Android_RFS/system/

Key Mapping

Keyboard Key      Android Event
ESC               Back
Right Window      Menu
Page up           Volume up
Page down         Volume down
Left Window       Power
Scroll lock       Explorer
Right arrow       DPAD
Left arrow        DPAD left
Up arrow          DPAD up
Down arrow        DPAD down
Enter             Enter
Home              Home
Tab               Tab
Note:- Along with above keys alphabetical characters & digit keys are mapped.

Ownership & Permissions

Modify ownership and permissions

$ cd ~/Android_RFS
$ sudo chown -R root.root *
$ sudo chmod -R 777 *

Booting Android on board from MMC/SD

Create two partitions on MMC/SD

  1. FAT
  2. ext3
  • For more information check here

Kernel Arguments:-

console=ttyS2,115200n8 noinitrd root=/dev/mmcblk0p2 video=omapfb.mode=dvi:1280x720MR-24@50 init=/init rootfstype=ext3 rw rootdelay=1 nohz=off androidboot.console=ttyS2
  • Pass appropriate video mode for your display. Check following link for more information 1 & 2.

Debugging Android

Execute below command from shell

$logcat

Check if you can find *.dex files of android apps in /data/dalvik-cache

Enabling Network

Connect eth0 interface to usb hub via ethernet to usb converter

Edit init.rc

<Android_RFS>/init.rc
# basic network init
setprop net.dns1 <primary-dns-server-ip>

Boot Beagle board Execute following commands from minicom

$netcfg eth0 up
$netcfg eth0 dhcp

NOTE:- Enable appropriate driver for your "ethernet to usb converter" in kernel. Driver can be found at :-

│ -> DeviceDrivers ││ -> Network device support (NETDEVICES[=y]) ││ -> USB Network Adapters