Skip to content
Rowan Decker edited this page Jun 11, 2013 · 4 revisions

Setup

This page covers the general steps needed to setup kernel_chooser, root_chooser, and android_chooser. If you need more specifics or help, find some friendly people on IRC to talk to (I am Smasher816 on irc.freenode.net). Otherwise, google is your friend.

Get Linux

In order to do any low-level android development, you will need a linux installation (dualboot, virtual machine, ssh, etc) so get access to one :)

Make sure you install git, gcc, make, and cpio along with any other "compiler / development" packages.

You will also want to install adb, flastboot, nvflash, and any other device specific tools. See google. Different distributions have different methods of installation.

Setup an (arm) toolchain

Once again see google for more information. In general you can download a .tar.gz with the necessary files and extract it to a directory.

From now on you are assumed to be compiling for the arm architecture.

Make blobtools

mkdir blobpack
wget https://raw.github.com/CyanogenMod/android_device_asus_tf201/ics/blobpack/blobpack.cpp
wget https://raw.github.com/CyanogenMod/android_device_asus_tf201/ics/blobpack/blob.h
g++ -I. -Ishared -Wall -ggdb blobpack.cpp -o blobpack

Copy the blobpack binary to a directory that is in your path (ex: ~/bin or /usr/bin)

Clone the repo

cd ~/
git clone https://github.com/tux-mind/tf201-dev.git
cd tf201-dev

Configuration

There are a couple of environment variables you can set that will affect compilation.

export DEVELOPMENT=1 - Enables development extras (more information and pauses)

export NVFLASH - Uses nvflash instead of fastboot to install a kernel

export INCLUDE_DIR=... - Include directory for gcc (used for toolchain)

export LIB_DIR=... - Library directory for gcc (used for toolchain)

Building

Simply change to the directory of a project and call make. Ex: to make a new android_chooser build

cd android_chooser
make
adb push initrd.gz /sdcard/android_chooser

Note: use make clean to force a rebuild.

Help out

Code, compile, test, repeat.

Todo List - https://github.com/tux-mind/tf201-dev/blob/master/TODO

If you make any improvements (code cleanup, new features, etc) upload your commit and give us a pull request. It is always great to see something new. Open Source Rocks!

Clone this wiki locally