Author: Wang Jinnan,Hua Qing vision embedded college lecturer.
Process of porting Android 2.2.1
Environment: ubuntu10.04 and later versions, linux2.6.30 source code package (software), atmel9g45 Development Board. (Hardware)
Tool: gcc4.4 and later, Java6-JDK
Library files: Flex, Bison, gperf, libsdl-Dev, libesd0-dev, libwxgtk2.6-Dev, Build-essential, zip, curl
Process introduction:
Obtain the kernel source code tree suitable for running Android platforms from the official website or the manufacturer. Synchronize the source code tree of the Android platform. Install Java 1.6 and other third-party libraries. Compile the kernel, compile the Android platform (root file system), and debug NFS online.
Migration steps:
1. Create a kernel suitable for running Android
A) decompress the linux-2.6.30.tar.gz source code package.
I. tar xf linux-2.6.30.tar.gz
B) download the patch pack for linux-2.6.30 on ATMEL's official website
I. Web site is http://at91.com/android4sam
C) Install patches on the Internet.
Http://www.at91.com/android4sam/bin/view/Android4SAM/LinuxKernel
II.
Iii. Download the above files and unzip the installation patches:
1. Tar xvjf linux-2.6.30.tar.bz2
2. CD linux-2.6.30
3. zcat 2.6.30-at91.patch.gz | patch-p1
4. Tar xvzf 2.6.30-at91-exp.4.tar.gz
6. For P in 2.6.30-at91-exp.4/*; do patch-P1 <$ P; done
6. Patch-P0 <linux-2.6.30-at91-exp4-android-2.0.1_r1-ver1.diff
2. Compile the patch kernel.
A) Make arch = arm menuconfig
B) Make uimage arch = arm cross_compile = <cross_tools>
3. Synchronize the Android platform code
A) The Android platform is essentially a root file system. With NFS mounting, we can easily debug our platform and ensure sufficient disk space before synchronization. The theory is 2 GB, but in fact 8 GB space is required to ensure security.
B) Android synchronization is implemented through a repo script. It will call the GIT tool to download the independent branches in the Android platform.
C) The specific synchronization method is as follows:
I. sudo apt-Get install curl
Ii. Cd ~
Iii. mkdir ~ /Bin
Iv. Curl http://android.git.kernel.org/repo> ~ /Bin/Repo
V. chmod A + x ~ /Bin/Repo
Vi. mkdir mydroid
VII. CD mydroid
VIII. Repo init-u git: // android.git.kernel.org/platform/manifest.git-B android-2.2.1_r1
IX. Repo sync
4. install some library files and the java6 environment after synchronizing the source code.
A) sudo apt-Get install Git-core GnuPG flex bison gperf build-essential zip curl sun-java6-jdk sun-java6-jre zlib1g-dev gcc-multilib g ++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev
B) java_home = <Java installation path>
C) Path = $ java_home/bin: $ path
D) classpath = $ java_home/lib/dt. jar: $ java_home/lib/tools. Jar
E) Export java_home
F) Export path
G) Export classpath
5. Compile the Android platform
A) enter the root directory of the Android platform
B) Source build/envsetup. Sh
C) make