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. --~--~---------~--~----~------------~-------~--~----~ unsubscribe: android-porting+unsubscr...@googlegroups.com website: http://groups.google.com/group/android-porting -~----------~----~----~----~------~----~------~--~---