====== android overview ======
*[[http://sites.google.com/site/io/anatomy--physiology-of-an-android|Anatomy & Physiology of an Android]]
====== make build env ======
===== download platform source =====
플렛폼 다운로드
$ mkdir ~/android_workspace/platform
$ cd ~/android_workspace/platform
$ repo init -u git://android.git.kernel.org/platform/manifest.git
$ repo sync
platform source tree
$ ls -a
. .repo bionic build development frameworks packages system
.. Makefile bootable dalvik external hardware prebuilt vendor
===== tool-chain =====
$ cd ... platform/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/
$ ls
arm-eabi-addr2line arm-eabi-g++ arm-eabi-gdbtui arm-eabi-ranlib
arm-eabi-ar arm-eabi-gcc arm-eabi-gprof arm-eabi-readelf
arm-eabi-as arm-eabi-gcc-4.4.0 arm-eabi-ld arm-eabi-run
arm-eabi-c++ arm-eabi-gccbug arm-eabi-nm arm-eabi-size
arm-eabi-c++filt arm-eabi-gcov arm-eabi-objcopy arm-eabi-strings
arm-eabi-cpp arm-eabi-gdb arm-eabi-objdump arm-eabi-strip
$ ./arm-eabi-gcc -v
Using built-in specs.
Target: arm-eabi
Configured with: /home/jingyu/projects/gcc/android-toolchain/gcc-4.4.0/configure
--prefix=/usr/local
--target=arm-eabi
--host=i686-pc-linux-gnu
--enable-languages=c,c++
--disable-libssp --enable-threads --disable-nls --disable-libmudflap --disable-libgomp
--disable-libstdc__-v3 --disable-sjlj-exceptions --disable-shared
--with-float=soft --with-fpu=vfp
--with-arch=armv5te
--with-gcc-version=4.4.0
--with-binutils-version=2.19
--with-gmp-version=4.2.4
--with-mpfr-version=2.4.1
--with-gdb-version=6.6
기타 tool-chain
*[[http://wiki.openmoko.org/wiki/Toolchain|toolchain from openmoko]] armv4t
*[[http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite|Download Sourcery G++ Lite Edition for ARM]]
커널 다운로드
$ cd ~/android_workspace
$ git clone git://android.git.kernel.org/kernel/common.git kernel
====== build =====
platfrom build
kernel build
$ make uImage ARCH=arm CROSS_COMPILE=../prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/arm-eabi-
====== porting ======
===== u-boot =====
*/board/board-name
===== kernel =====