> HOWTO Build Android-X86 Full Source
> ====================================
> Last Modified on 23-Dec-2008 23:10
> I Summarized how to build android full source for x86 target.
> 0. My development environments
> - OS : Ubuntu 8.10 Distribution ( 2.6.27-4-generic )
> - CPU: Intel(R) Core(TM)2 Duo CPU T5750 @ 2.00GHz ( Samsung SENS
> R60 Laptop )
> - RAM: Samsung DDR Ram
> - Target: Eee PC (ASUS)
> 1. Query of Linux distribution information
> - At first, Prepare ASUS Eee 701 Lattop or Samsung nettop (NC01).
> And then, confirm system information on your linux distribution
> like belows.
> $ uname -a
> Linux invain-laptop 2.6.27-4-generic #1 SMP Wed Sep 24 01:30:51 UTC
> 2008 i686 GNU/Linux
> $ gcc --version
> gcc (Ubuntu 4.3.2-1ubuntu10) 4.3.2
> Copyright (C) 2008 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions. There
> is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
> PURPOSE.
> 2. repo init and Sync
> - You have to download android full source for x86 architecture like
> ASUS Eee PC 701.
> - Eee pc dev tree is "git://android.git.kernel.org/platform/vendor/
> asus/eee_701.git".
> $ cd ~
> $ mkdir bin_x86 && cd bin_x86
> $ mkdir mydroid && cd mydroid
> $ repo init -u git://android.git.kernel.org/platform/manifest.git -b
> cupcake
> $ repo sync
> $ vi ./.repo/local_manifest.xml
> <manifest>
> <project name="platform/vendor/asus/eee_701" path="vendor/asus/
> eee_701"/>
> </manifest>
> $ repo sync
> ... A new repo command ( 1.8) is available.
> ... You should upgrade soon:
> cp /home/invain/bin_x86/mydroid/.repo/repo/repo /home/invain/bin/
> repo
> Initializing project platform/vendor/asus/eee_701 ...
> remote: Counting objects: 33, done.
> remote: Compressing objects: 100% (31/31), done.
> remote: Total 33 (delta 2), reused 33 (delta 2)
> Unpacking objects: 100% (33/33), done.
> From git://android.git.kernel.org/platform/vendor/asus/eee_701
> * [new branch] cupcake -> korg/cupcake
> * [new branch] master -> korg/master
> 3. Building x86 android full source
> $ TARGET_ARCH=x86 TARGET_PRODUCT=eee_701 DISABLE_DEXPREOPT=true make -
> j2 installer_img
> build/core/product_config.mk:207: WARNING: adding test OTA key
> ============================================
> TARGET_PRODUCT=eee_701
> TARGET_BUILD_VARIANT=eng
> TARGET_SIMULATOR=
> TARGET_BUILD_TYPE=release
> TARGET_ARCH=x86
> HOST_ARCH=x86
> HOST_OS=linux
> HOST_BUILD_TYPE=release
> BUILD_ID=
> ============================================
> build/core/main.mk:178: implicitly installing apns-conf_sdk.xml
> ............... Below Omission ...................
> * Toouble Shooting
> $ vi external/srec/tools/thirdparty/OpenFst/fst/lib/../../fst/lib/
> vector-fst.h
> $ vi external/srec/tools/thirdparty/OpenFst/fst/lib/symbol-table.cpp
> $ vi frameworks/base/tools/aidl/aidl.cpp --> #include <stdlib.h>,
> #include <string.h>
> and so on......
> $ vi
> $ ls -lh out/target/product/eee_701/
> total 753M
> -rw-r--r-- 1 oedev oedev 2.5M 2008-12-20 21:23 boot.img
> -rw-r--r-- 1 oedev oedev 57 2008-12-20 22:15 clean_steps.mk
> drwxr-xr-x 4 oedev oedev 4.0K 2008-12-20 21:32 data
> drwxr-xr-x 2 oedev oedev 4.0K 2008-12-20 19:54 grub
> drwxr-xr-x 4 oedev oedev 4.0K 2008-12-20 22:36 installer
> -rw-r--r-- 1 oedev oedev 388M 2008-12-20 22:38 installer.img
> -rw-r--r-- 1 oedev oedev 1.9M 2008-12-20 18:45 kernel
> drwxr-xr-x 12 oedev oedev 4.0K 2008-12-20 22:33 obj
> -rw-r--r-- 1 oedev oedev 592K 2008-12-20 21:10 ramdisk.img
> drwxr-xr-x 9 oedev oedev 4.0K 2008-12-20 21:09 root
> drwxr-xr-x 4 oedev oedev 4.0K 2008-12-20 19:55 symbols
> drwxr-xr-x 12 oedev oedev 4.0K 2008-12-20 21:29 system
> -rw-r--r-- 1 oedev oedev 355M 2008-12-20 22:34 system.img
> -rw-r--r-- 1 oedev oedev 5.0M 2008-12-20 21:32 userdata.img
> $ file out/target/product/eee_701/installer.img
> out/target/product/eee_701/installer.img: x86 boot sector;
> GRand Unified Bootloader, stage1 version 0x3; partition 2:
> ID=0x83, starthead 0, startsector 10926, 783672 sectors, code offset
> 0x48
> $ file out/target/product/eee_701/system.img
> out/target/product/eee_701/system.img: Linux rev 0.0 ext2 filesystem
> data
> $ file out/target/product/eee_701/userdata.img
> out/target/product/eee_701/userdata.img: Linux rev 0.0 ext2 filesystem
> data
> $ sudo mount -o loop boot.img /mnt
> total 2.5M
> -rw-r--r-- 1 oedev oedev 77 2008-12-20 21:23 cmdline
> -rw-r--r-- 1 oedev oedev 1.9M 2008-12-20 21:23 kernel
> -rw-r--r-- 1 oedev oedev 592K 2008-12-20 21:23 ramdisk
> $ cat /mnt/cmndline
> console=tty0 console=ttyS1,115200n8 console=tty0
> androidboot.hardware=eee_701
> $ cp /mnt/ramdisk /tmp/ramdisk.gz
> $ cd /tmp
> $ gunzip ramdisk.gz
> $ cpio -iv < ramdisk
> sys
> init.goldfish.rc
> system
> data
> init.rc
> proc
> init
> default.prop
> sbin
> sbin/adbd
> init.eee_701.rc
> lib
> lib/modules
> lib/modules/i915.ko
> lib/modules/font.ko
> lib/modules/drm.ko
> lib/modules/cfbcopyarea.ko
> lib/modules/cfbimgblt.ko
> lib/modules/bitblit.ko
> lib/modules/cfbfillrect.ko
> lib/modules/softcursor.ko
> lib/modules/fbcon.ko
> lib/modules/atl2.ko
> dev
> 2955 blocks
> $ file /tmp/init
> /tmp/init: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV),
> statically linked, not stripped
> 4. Make USB Stick Installer
> $ dd if=out/target/product/eee_701/installer.img of=/dev/<usbstick of
> your choice>
> 5. Now. Enjoy X86 Android Platform!
> End of Line.