编译 内核
我刚开始使用的是Ubuntu12.04系统,在编译的过程中git工具总是出问题,后来就升级到了Ubuntu14.04系统,终于编译成功!
一路参考官方android的编译文档:http://wiki.t-firefly.com/index.php/FirePrime/Build_android
编译Android对机器的配置要求较高:
64位CPU
16GB物理内存+交换内存
30GB空闲的磁盘空间用于构建,源码树另外占用大约25GB
官方推荐Ubuntu14.04操作系统,经测试,Ubuntu12.04也可以编译运行成功,只需要满足http://source.android.com/source/building.html里的软硬件配置即可。
编译环境的初始化可参考http://source.android.com/source/initializing.html。
一,准备工作:
安装OpenJDK7:
$sudoapt-getinstallopenjdk-7-jdk
提示:安装openjdk-7-jdk,会更改JDK的默认链接,这时可用:
$sudoupdate-alternatives--configjava
$sudoupdate-alternatives--configjavac
来切换JDK版本。SDK在找不到操作系统默认JDK的时候会使用内部设定的JDK路径,因此,为了让同一台机器可以编译Android5.1及之前的版本,去掉链接更方便:
$sudo/var/lib/dpkg/info/openjdk-7-jdk:amd64.prermremove
Ubuntu12.04软件包安装:
sudoapt-getinstallgitgnupgflexbisongperfbuild-essential
zipcurllibc6-devlibncurses5-dev:i386x11proto-core-dev
libx11-dev:i386libreadline6-dev:i386libgl1-mesa-glx:i386
g++-multilibmingw32tofrodosgcc-multilibia32-libs
python-markdownlibxml2-utilsxsltproczlib1g-dev:i386
lzoplibssl1.0.0libssl-dev
Ubuntu14.04软件包安装:
sudoapt-getinstallgit-coregnupgflexbisongperflibsdl1.2-dev
libesd0-devlibwxgtk2.8-devsquashfs-tool***uild-essentialzipcurl
libncurses5-devzlib1g-de***gcrushschedtoollibxml2libxml2-utils
xsltproclzoplibc6-devschedtoolg++-multiliblib32z1-devlib32ncurses5-dev
lib32readline-gplv2-devgcc-multiliblibswitch-perl
libssl1.0.0libssl-dev
二、下载SDK(注意不要在windows下解压,否则可能出错)
按照官方的教程,下载了6.05GB的AndroidSDK,(官方说内核源码和交叉编译工具链分别在SDK/kernel和SDK/prebuilts目录里)但是里面并没有kernel源码和arm-eabi-4.6交叉编译工具链。
在.git同一级目录下执行下面命令下载完整的SDK。
$gitremoteaddbitbuckethttps://bitbucket.org/T-Firefly/firenow-lollipop.git
以后就可以直接从bitbucket处更新:
$gitpullbitbucketfireprime:fireprime
也可以到https://bitbucket.org/T-Firefly/...ts/branch/fireprime在线浏览源码。
(注意:Android的arm-eabi-4.6交叉编译工具链,可以看其它(Firefly-KR3288:http://www.t-firefly.com/zh/firenow/firefly_rk3288/download/))
三、编译内核
编译内核映像,如果不是在SDK里编译内核,则需要先指定ARCH和CROSS_COMPILE:
exportARCH=arm
exportCROSS_COMPILE=/path/to/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin/arm-eabi-
在内核源码目录里执行:
1.进入SDK源码的下级目录Kernel目录:
cd/fireprime/kernel
执行”makefireprime_defconfig”在当前目录下生成.config文件;
$makefireprime_defconfig
3.编译内核.-j8表示8核处理器执行,加快速度,4核CPU也可以
$make-j8rk3128-fireprime.img
回帖(2)
2015-10-19 20:18:23
顶支持
举报
2015-10-19 20:21:05
经验分享,不需要回答!~自己顶一个
经验分享,不需要回答!~自己顶一个
举报
更多回帖