编译主机要求: ubuntu-12.04 64 bit

Android 版本: JellyBean 4.1.2

主机环境配置

给编译主机安装以下软件包

sudo apt-get update 
sudo apt-get install git-core flex bison gperf libesd0-dev zip gawk libwxgtk2.6-dev \
		zlib1g-dev build-essential tofrodos libx11-dev libncurses5-dev \
		lib32readline-gplv2-dev  libstdc++6 lib32z1 ia32-libs \
		g++-multilib libx11-dev uboot-mkimage libxml2-utils xsltproc \
		texinfo quilt autoconf mtd-utils libncurses5-dev

安装Java SE 6 JDK:

ftp://ftp.phytec.cn/tools/jdk-6u45-linux-x64.bin

先安装JDK:

cp jdk-6u45-linux-x64.bin /opt/
cd /opt/
chmod +x jdk-6u45-linux-x64.bin
./jdk-6u45-linux-x64.bin

修改用户home目录下的.bashrc文件, 增加以下内容, 导入JDK的环境变量

~/.bashrc
export JAVA_HOME=/opt/jdk1.6.0_45
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

执行以下命令更新用户的系统环境变量

source ~/.bashrc

Android源码包获取

ftp://ftp.phytec.cn/AM335x/Android/phyCORE-AM335X-JellyBean-PD14.1.0_extracted_sources.tgz

解压该BSP包:

tar xvf phyCORE-AM335X-JellyBean-PD14.1.0_extracted_sources.tgz

解压后进入该源码包, 并做以下更改

cd [ANDROID-BSP]/dalvik
git reset --hard
cd [ANDROID-BSP]/external/qemu
git reset --hard

以上修改的原因是BSP的以下目录和文件在打包时被删掉了, 可先使用git恢复, 否则会导致编译报错

dalvik/vm/mterp/out
dalvik/vm/compiler/template/out
external/qemu/distrib/sdl-1.2.12/src/video/fbcon/out

将BSP包中的Makefile替换成build/core/root.mk文件

cd [Android-BSP]
sudo cp build/core/root.mk Makefile

Android BSP 编译

导入编译环境变量

cd [Android-BSP]
export PATH=${PWD}/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin:${PATH}

编译Bootloaders, kernel 和 android系统

cd [Android-BSP]
make TARGET_PRODUCT=pcm051 rowboat_clean
make TARGET_PRODUCT=pcm051 OMAPES=4.x -j<N>

<N> 替换成编译主机的CPU线程数

创建文件系统

make TARGET_PRODUCT=pcm051 fs_tarball

执行该操作后, 在out/target/product/pcm051/rootfs.tar.bz2 目录下就有对应的文件系统.

生成nand的文件系统

./mkrootfs
  • No labels