歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> [RedHat AS5]三星S3C6410(ARM1176)平台Android資源獲取與編譯

[RedHat AS5]三星S3C6410(ARM1176)平台Android資源獲取與編譯

日期:2017/2/28 16:25:42   编辑:Linux教程

1. Android的一些有用的官方網站:
http://android.git.kernel.org android源碼網站
http://source.android.com
http://code.google.com/android
http://developer.android.com

2. 安裝git源碼管理工具

# cd ~
# mkdir bin
# echo $PATH
# curl http://android.git.kernel.org/repo > ~/bin/repo
# chmod a+x ~/bin/repo

git下載源碼方法:
下載一個tree(至當前路徑):
# git clone git://git路徑 (git路徑參看網站發布tree路徑)
下載整個platform至當前路徑:
# repo init -u git://git路徑/platform/manifest.git
# repo sync

3. 獲得Android平台源碼(具體可參看http://android.git.kernel.org):
# mkdir myandroid
# cd myandroid
# repo init -u http://android.git.kernel.org/platform/manifest.git
# repo sync

按默認設置完成即可


4. 獲得S3C6410平台Android底層Linux內核源碼

# git clone git://github.com/leemgs/samsung-s3c6410-android.1.0.git

5. 獲得並安裝Android編譯工具(Toolchain)
# wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.12.tar.gz
# ./configure --prefix=/usr/local
# make
# make install
# vi /etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/local/lib
# ldconfig

# cd /opt
# wget http://www.kandroid.org/devtools/kandroid-1.1.2.1-20080530.glibc.tgz
# tar xvzf kandroid-arm-toolchain-20080530.tgz
# cd ./kandroid-arm-toolchain-20080522/bin
# ls
arm-android-linux-gnueabi-addr2line arm-android-linux-gnueabi-gprof
arm-android-linux-gnueabi-ar arm-android-linux-gnueabi-jcf-dump
arm-android-linux-gnueabi-as arm-android-linux-gnueabi-jv-scan
arm-android-linux-gnueabi-c++ arm-android-linux-gnueabi-ld
arm-android-linux-gnueabi-c++filt arm-android-linux-gnueabi-nm
arm-android-linux-gnueabi-cc arm-android-linux-gnueabi-objcopy
arm-android-linux-gnueabi-cpp arm-android-linux-gnueabi-objdump
arm-android-linux-gnueabi-g++ arm-android-linux-gnueabi-populate
arm-android-linux-gnueabi-gcc arm-android-linux-gnueabi-ranlib
arm-android-linux-gnueabi-gcc-4.2.3 arm-android-linux-gnueabi-readelf
arm-android-linux-gnueabi-gccbug arm-android-linux-gnueabi-run
arm-android-linux-gnueabi-gcj arm-android-linux-gnueabi-size
arm-android-linux-gnueabi-gcjh arm-android-linux-gnueabi-sstrip
arm-android-linux-gnueabi-gcov arm-android-linux-gnueabi-strings
arm-android-linux-gnueabi-gdb arm-android-linux-gnueabi-strip
arm-android-linux-gnueabi-gjnih

#
# ./arm-android-linux-gnueabi-gcc -v
---------------------------------------------------------------------------------------------------------------
Using built-in specs.
Target: arm-android-linux-gnueabi
Configured with: /opt/androidtoolchain110/bin/targets/src/gcc-4.2.3/configure --build=i686-pc-linux-gnu --target=arm-android-linux-gnueabi --host=i686-pc-linux-gnu --prefix=/root/x-tools/arm-android-linux-gnueabi --with-sysroot=/root/x-tools/arm-android-linux-gnueabi/arm-android-linux-gnueabi/sys-root --enable-languages=c,c++,java --with-arch=armv6j --with-cpu=arm1136jf-s --with-tune=arm1136jf-s --with-float=soft --enable-__cxa_atexit --disable-multilib --with-gmp=/root/x-tools/arm-android-linux-gnueabi --with-mpfr=/root/x-tools/arm-android-linux-gnueabi --with-local-prefix=/root/x-tools/arm-android-linux-gnueabi/arm-android-linux-gnueabi/sys-root --disable-nls --enable-threads=posix --enable-symvers=gnu --enable-c99 --enable-long-long --with-bugurl=http://www.kandroid.org --with-pkgversion=kandroid-invain-arm_v6_nfp_le-ver.1.1.2.1
Thread model: posix
gcc version 4.2.3
----------------------------------------------------------------------------------------------------------
# vi autotoolpath.sh
#!/bin/bash
export PATH=/opt/kandroid-1.1.2.1-20080530.glibc/bin:$PATH

6. Android編譯
1) 至sun網站下載JDK1.5(jdk-1_5_0_21-linux-i586-rpm.bin)
# ./jdk-1_5_0_21-linux-i586-rpm.bin
解壓成:jdk-1_5_0_21-linux-i586-rpm.rpm

2) 安裝JDK 1.5
# rpm -ivh jdk-1_5_0_21-linux-i586-rpm.rpm

3) 下載gperf-3.0.4.tar.gz, 然後安裝
./configure
make
make install

4) 在/etc/profile末尾添加
JAVA_HOME=/usr/java/jdk1.5.0_21
export ANDROID_JAVA_HOME=$JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH
CLASSPATH=.:$JAVA_HOEM/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export CLASSPATH

5) 編譯Android
在Android目錄執行make.
# make

6) 編譯Android SDK
# ./build/envsetup.sh
# ./make sdk
如果出現JAVA鏈接問題,執行:
# JAVA_HOME=/usr/java/jdk1.5.0_21
# export ANDROID_JAVA_HOME=$JAVA_HOME

7. S3C6410 Linux內核編譯
# cd samsung-s3c6410-linux
# cp ./arch/arm/configs/smdk6410mtd.android_defconfig .config
# make menuconfig
# make

Copyright © Linux教程網 All Rights Reserved