-
Notifications
You must be signed in to change notification settings - Fork 10
Building
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.
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.
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.
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)
cd ~/
git clone https://github.com/tux-mind/tf201-dev.git
cd tf201-dev
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)
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.
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!