Building Android for the ThinkPad series

From MyWiki

Jump to: navigation, search


Contents

Summary

As you see the same as what above, here's this topic mainly involved in personal experiences under a series of thinkpad laptop/pc with android -x86 by google in the cupcake branch of android's source tree by virtue of miscellaneous ways, such as a android-bootable usb/hd or a virtualization software (e.g. virtalbox/vmware) or others!! Meanwhile, several special and further topics are also discussed, most likely relating to the android's distro for laptop/pc, the community of laptop and mobile phone under android. Additionally, many thanks to these members in the community, namely android-porting, especially those members in the following threads,

Finally, any discussions or tips or suggestions or appendixes are really appreciated!! In the meantime, please correct me anywhere I have taken mistakes!! -- Enjoying "brainstorm"!!

Introduction

Hardware

ThinkPad series with x86 architecture. In the case here, it's mainly focusing on ThinkPad R60. CPU: Intel(R) Core(TM)2 1.66GHz RAM: 512 MiB ROM: 60 GiB Audio:Intel 82801G (ICH7 Family) HDAC Display/Video: ATI Mobility Radeon X1300 Wired Network: Broadcom NetXtreme BCM5751M Gigabit Ethernet PCI Express (rev 21) Wireless Network: Intel PRO/Wireless 3945ABG Network Connection (rev 02)

Software

You can select what you prefer as your os running on one ThinkPad. In the case here, it's primarily concentrating on Ubuntu 8.04 (Hardy)

uname -a

Linux samuel-laptop 2.6.24-22-generic #1 SMP Mon Nov 24 18:32:42 UTC 2008 i686 GNU/Linux

gcc --version

gcc (GCC) 4.2.4 (Ubuntu 4.2.4-1ubuntu3)

Android source tree considerations

Prerequisites

In order to set up your local environment upon your os before getting and compiling successfully android source tree with more details, please refer to the following link, https://sites.google.com/a/android.com/opensource/download

Synchronization

mkdir ~/project/cupcake && cd ~/project/cupcake 
repo init -u git://android.git.kernel.org/platform/manifest.git -b cupcake 
repo sync 
vi .repo/local_manifest.xml

Copy and paste this content:

<?xml version="1.0" encoding="UTF-8"?> 
<manifest> 
<project name="platform/vendor/asus/eee_701" path="vendor/asus/eee_701"/> 
</manifest> 

Then continue:

repo sync

Currently there is a build time error involving the makefiles for the eee_701 target, so you need to edit /vendor/asus/eee_701/eee_701.mk. Use your favorite editor to change 'generic_with_google.mk' to 'generic.mk' About this change

Compiling android

TARGET_ARCH=x86 TARGET_PRODUCT=eee_701 DISABLE_DEXPREOPT=true make -j2 installer_img 

In Ubuntu 8.10/intrepid the default gcc version is 4.3, so you might want to use

CC=gcc-4.2 CXX=g++-4.2 TARGET_ARCH=x86 TARGET_PRODUCT=eee_701 DISABLE_DEXPREOPT=true make -j2 installer_img

instead. If you want to use gcc-4.2, make sure you install gcc-4.2 and g++-4.2

sudo apt-get install gcc-4.2 g++4.2

Compile Kernel

cd kernel
wget http://junkyard.googlecode.com/files/x86_android.dot.config
cp x86_android.dot.config .config

install alarm.c patch

make -j2 && make -j2 modules
sudo make modules_install

Personal tools