ISA 673 : Operating System Security 
Zhaohui Wang

Android Kernel Programming How To

Get the common repository for the Kernel (Necessary for the Emulation):


git clone git://android.git.kernel.org/kernel/common.git

 

git checkout -b master origin/android-goldfish-2.6.29

 

 

This is the QEMU Config for the kernel so it can work with the QEMU Emulator for Android:

 

http://dslsrv.gmu.edu/qemuconfig
mv qemuconfig .config

 

 

To cross-compile the code:

 

apt-get install build-essential,
to get your kernel development environment. And PLUS you will need an arm version gcc.

You can use the one included in the android source tree or

you can download it here: http://dslsrv.gmu.edu/isa673/toolchain.tgz (128MB)

 

export ARCH=arm
export CROSS_COMPILE=arm-eabi-

make

 

 

To Install the new kernel image:

 

copy arch/arm/boot/zImage file to <SDK>/platforms/images/
rename it as kernel-qemu

android list avd
to get your_avd_name

emulator -verbose -show-kernel -avd your_avd_name

Linux version 2.6.XX.....

 

 

Our version of the Kernel:

http://dslsrv.gmu.edu/kernel-qemu 2.6.29-isa673-xxxxx-dirty

You can set the 4.4.0 version dir in you PATH. It will work for you.