Step 1 :
Make sure you have enabled the repository of "
Partner". Otherwise, Sun's Java JDK cannot be installed.For amd64 environment :
sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl sun-java6-jdk zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev vaigrindFor i386 environment (Optional) (not tested by me) :
sudo apt-get install git-core gnupg sun-java6-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev vaigrindStep 1a :
sudo update-alternatives --config java Please select
/usr/lib/jvm/java-6-sun/jre/bin/javaStep 2 :
sudo nano /etc/environmentappend "
:~/bin" at the end of "PATH="It will look like this :
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:~/bin"source /etc/environmentStep 3 :
curl http://android.git.kernel.org/repo >~/bin/repo
chmod a+x ~/bin/repoStep 4 :
If you want to compile the Android 2.2 (i.e. froyo), you can do the following :
mkdir froyo-x86
cd froyo-x86
repo init -u git://git.android-x86.org/manifest.git -b froyo-x86
repo sync*this process will take several hours just depends on your internet connection and the power of your hardwares
**If you want to compile older version of Android, please replace "
froyo-x86" with "donut-x86" or "eclair-x86".Hints :
donut-x86 == based on Android 1.6 release (Donut)
eclair-x86 == based on Android 2.1 release (Eclair)
froyo-x86 == based on Android 2.2 release (Froyo)
Step 5 :
**If you are going to compile froyo-x86 for Asus EeePC, this step can be skipped. Or, you can download the iso file from the official website.Make sure you are still at froyo-x86 directory (or else that you have created previously, e.g. ~/froyo-x86).
nano ~/froyo-x86/device/asus/eeepc/eeepc_defconfigMake the following lines as is :
CONFIG_MPENTIUMM=y
CONFIG_MK8=y
CONFIG_MVIAC7=y
CONFIG_MCORE2=y
CONFIG_MATOM=y
CONFIG_GENERIC_CPU=y
CONFIG_IOMMU_HELPER=y
CONFIG_IOMMU_API=y
CONFIG_X86_PAE=y** EeePC 701 does not support "CONFIG_X86_PAE=y" setting
CONFIG_MICROCODE_AMD=yCONFIG_X86_POWERNOW_K8=y
CONFIG_X86_SPEEDSTEP_CENTRINO=y
CONFIG_INTEL_IDLE=yCONFIG_PCCARD=y
CONFIG_HOTPLUG_PCI_IBM=m
CONFIG_HOTPLUG_PCI_APCI=yCONFIG_FIRMWARE_IN_KERNEL=yCONFIG_8139CP=m
CONFIG_8139TOO=m
CONFIG_VIA_RHINE=m
CONFIG_E1000=m
CONFIG_E1000E=m
CONFIG_RTL8180=m
CONFIG_MAC80211_HWSIM=m
CONFIG_ATH9K_HTC=m
CONFIG_IWLWIFI=m
CONFIG_RT2X00=m
CONFIG_WL12XX=m
CONFIG_ZD1211RW=m
CONFIG_IPW2100=m
CONFIG_IPW2200=m
CONFIG_AR9170_USB=m
CONFIG_LIBERTAS=m
CONFIG_HOSTAP=mCONFIG_KEYBOARD_ATKBD=yCONFIG_PHONE=mCONFIG_MOUSE_PS2_TRACKPOINT=m
CONFIG_MOUSE_PS2_TOUCHKIT=m
CONFIG_INPUT_TABLET=mCONFIG_N_GSM=yCONFIG_SOC_CAMERA=mCONFIG_HW_RANDOM_AMD=yCONFIG_AGP_ATI=y
CONFIG_AGP_AMD=y
CONFIG_AGP_NVIDIA=y
CONFIG_FIRMWARE_EDID=y
CONFIG_FB_BACKLIGHT=yCONFIG_DRM_RADEON=mCONFIG_FB_HGA=m
CONFIG_FB_INTEL=m
CONFIG_FB_RADEON=m
CONFIG_FB_NVIDIA=m
CONFIG_FB_VIA=m
CONFIG_FB_VIRTUAL=mCONFIG_DISPLAY_SUPPORT=yCONFIG_SND_SEQUENCER_OSS=m
CONFIG_SND_HRTIMER=m
CONFIG_SND_EMU10K1_SEQ=m
CONFIG_SND_EMU10K1=m
CONFIG_SND_EMU10K1X=m
CONFIG_SND_HDA_GENERIC=yCONFIG_HID_PID=y
CONFIG_USB_HIDDEV=yCONFIG_RTL8192SU=m
CONFIG_RTL8192U=m
CONFIG_RTL8192E=mCONFIG_THINKPAD_ACPI=mCONFIG_FSCACHE=yStep 5a :
**If you are going to compile froyo-x86 for Asus EeePC, this step can be skipped. Or, you can download the iso file from the official website.nano ~/froyo-x86/device/asus/eeepc/ts.confUncomment all.
Step 6 :
cd froyo-x86
. build/envsetup.sh
lunch eeepc-eng
m -jX iso_img TARGET_ARCH_VARIANT=x86-atom*where "
X" is the number of core of your CPU and "TARGET_ARCH_VARIANT=x86-atom" is optionale.g. "
m -j2 iso_img" if you have a dual corethe iso file will be generated at
froyo-x86/out/target/product/eeepc/eeepc.iso*the compilation will take several hours just depends on your power of hardwares
Step 7 :
sudo apt-get update
sudo apt-get install unetbootinBurn the iso file to the USB stick with unetbootin.
Or, you can burn your iso file to CD-R instead.
Step 8 (Optional) :
For the next compilation when there is any updates of the source, you need to do :
repo sync
. build/envsetup.sh
lunch eeepc-eng
m -jX iso_img TARGET_ARCH_VARIANT=x86-atom*where "
X" is the number of core of your CPU and "TARGET_ARCH_VARIANT=x86-atom" is optionale.g. "
m -j2 iso_img" if you have a dual coreStep 9 (Optional) :
If you want to delete all what you have compiled, you should do the following before perform
Step 6.make cleanRemarks :
Android-x86 1.6r2 works flawlessy on Gigabyte T1028X without any modification. You just download from the official site and it works out of box. However, it is Android 1.6 (Donut).
froyo-x86 may work on Asus EeePC as it is designed for this series. However, I tested on EeePC 701 and it cannot be bootup with the captioned compilation.
Known Issues
froyo-x86 also works on Lenovo ThinkPad X100e and Lenovo ThinkPad X200 but the response is quite lag as same as Gigabyte T1028X. Maybe there is a problem on the display driver.
Wifi is not working properly on Gigabyte T1028X unless Ethernet is disabled. It cannot be detected on Lenovo ThinkPad X100e and Lenovo ThinkPad X200. It is possibly the driver problem which is not included in the eeepc_defconfig.
Camera is not working on Gigabyte T1028X and Lenovo ThinkPad X100e.
Volume is low on Gigabyte T1028X, Lenovo ThinkPad X200 and Lenovo ThinkPad X100e.
Bluetooth can be detected on Gigabyte T1028X, Lenovo ThinkPad X100e and Lenovo ThinkPad X200. However, I have not test the connectivity.
No mouse pointer on Gigabyte T1028X. Mouse pointer working abnormal and lag on Lenovo ThinkPad X100e and Lenovo ThinkPad X200.
Ethernet cannot be detected on Lenovo ThinkPad X200 and Lenovo ThinkPad X100e. Possibly the driver problem as they cannot be config at eeepc_defconfig.
That's all! See you.
