====== 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 =====