Required Packages
flex: This lexical analyzer generator is used to read a given input file for a description of a scanner to generate.
bison: This is a general-purpose parser generator.
gperf: This is a perfect hash function generator.
libesd0-dev: This enlightened sound daemon (dev files) is used to mix digitized audio streams for playback by a single device.
libwxgtk2.6-dev: This package provides GUI components and other facilities for many different platforms.
build-essential: This package contains a list of packages considered fundamental to building Debian packages.
安装好jdk 1.5.0
并在/etc/profile中设置好导出的环境变量
# Begin set java environment
export JAVA_HOME=/opt/java/jdk1.5.0_22
export JRE_HOME=/opt/java/jdk1.5.0_22/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
# End set java environment
Unpack i.MX Android Release Package
After you setup a Linux PC, unpack the FSL i.MX Android Release Package using the following commands:
$ cd
/opt (or any other directory you like)
$ tar xzvf
imx-android-r8.tar.gz
$ cd imx-android-r8/code
$ tar xzvf r8.tar.gz
Assume you had unzipped i.MX
Android release package to /opt/imx-android-r8/.
$ cd /opt
/imx
-android
-r8/tool
$ tar xzvf
gcc
-4.1.2-glibc
-2.5-nptl
-3.tar.gz
-C /opt
Now you can find your cross compiler at /opt/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin
设置要导出的编译器相关的环境变量
#Freescale CrossCompiler Env
export ARCH=arm
export CROSS_COMPILE=/opt/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-
export PATH=/opt/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin:$PATH
#
Prebuilt Image for uboot :
i.MX51 BBG3 board
Booting from SD
bootloader : imx51_BBG/u-boot.bin
kernel: imx51_BBG/uImage
Android file system:
"/": imx51_BBG/SD/uramdisk.img
"/system": imx51_BBG/SD/system.img
"/data" : imx51_BBG/SD/userdata.img. Not provided as it's empty.
"/recovery" : imx51_BBG/SD/recovery.img
Booting from TFTP/NFS
bootloader :
bootloader in SD: Same as "Booting from SD"
bootloader in SPI NOR: imx51_BBG/u-boot.bin
kernel: same as "Booting from SD"
Android file system: all in imx51_BBG/NFS/android_fs.tar.gz
下面开始repo代码打patch
Get Android Source Code (Android /Kernel /uboot )
the Android source code is maintained as more than 100 gits in an Android repository (Visit GitWeb from browser).
To get the Android source code from Google repo , follow the steps:
Assume you had unzipped i.MX
Android release package to /opt/imx-android-r8/.
$ cd
~
$ mkdir
myandroid
$ cd
myandroid
$ curl http://android.git.kernel.org/repo > ./repo
$ chmod
a+x
./repo
$ ./repo
init -u git://android.git.kernel.org/platform/manifest.git
-b eclair
$ cp /opt/imx-android-r8/code/r8/default.xml .repo/manifests/default.xml
(To avoid loading unnecessary gits
from Google repo
, meanwhile load some gits
from Google repo
which is not included in default manifest)
$ ./repo
sync
Get a clean kernel source code from kernel.org:
$ cd
myandroid
$ git
clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-2.6.31.y.git kernel_imx
If you use uboot as your bootloader , then you need get a clean source code base from the original git :
$ cd myandroid/bootable/bootloader
$ git clone git://git.denx.de/u-boot.git uboot-imx
Patch Code for i.MX
Apply all i.MX Android patches using following steps:
Assume you had unzipped i.MX
Android release package to /opt/imx-android-r8/.
$ cd
~/myandroid
$ . /opt/