cubieboard2 android内核与源码编译、内核配置

1、源码下载及解压

到http://docs.cubieboard.org/tutorials/cb2/development/building_your_own_android_image上下载风火轮团队为树莓派3 定制的非常强大并且稳定的android系统源码。我下载的是cubieboard2_android_SDK_v1.05:CubieBoard2_SDK_20140508.tar.gz,解压。

 

2、android开发环境搭建:

(1)Vmware虚拟机、64位ubuntu12.04、至少34G的磁盘空间、2G内存

(2)安装JDK

(3)安装android SDK

(4)安装eclipse、ADT、NDK和CDT

(5)安装内核移植(porting kernel)需要的交叉编译链,$sudo apt-get install gcc-arm-linux-gnueabihf

 

3、编译:

$ cd lichee/linux-3.4  进入到kernel 目录

$ make clean

$ cp arch/arm/configs/cubieboard2_config .config  把内核默认配置文件拷贝到根目录下,命名为.config

$ cd ..

$ ./build.sh -p sun7i_android  编译针对 A20CPU 的linux kernel

$ cd ../android  进入android source code

$ source build/envsetup.sh  设置编译环境变量

$ lunch (select sugar-cubieboard2 or sugar-cubietruck)   选择目标硬件,这里选15

$ extract-bsp  复制linux kernel 的内核模块驱动等文件到android中,为打包做准备

$ make( make -j4)  开始编译,–j4 表示 4 线程进行编译,如果你的虚拟机开的是多核的,可以根据你实际核数决定  j 后面的数字

$ pack  打包img

编译了五个多钟,编译成功:

cubieboard2 android内核与源码编译、内核配置_第1张图片


4、编译内核时出现:

cubieboard2 android内核与源码编译、内核配置_第2张图片

解决:$sudo cp CubieBoard2_SDK/lichee/u-boot/tools/mkimage /usr/bin

 

5、pack完后,把CubieBoard2_SDK/lichee/tools/pack/sun7i_android_sugar-cubieboard2.img复制到windows下,使用PhoenixSuit工具把镜像烧录到cubieboard2板子上,可开机,使用360手机助手装好驱动后可在电脑上安装apk。

 

6、编译好的镜像默认是HDMI显示,改成LCD

sys_config.fex 配置文件:树莓派3的Android系统一些相关功能的配置文件,通过对此文件的修改,可配置模块驱动功能的使能、关闭,以及其他参数的设置,可根据自己的硬件模块的实际情况进行配置和修改,即可实现相应的驱动功能。

sys_config.fex路径:CubieBoard2_SDK/lichee/tools/pack/chips/sun7i/configs/android/sugar-cubieboard2

参数说明:

screen0_output_type=xx   屏0 输出类型(0:none; 1:lcd; 2:tv; 3:hdmi; 4:vga)
screen0_output_mode =xx   屏0 输出模式

(used for tv/hdmi output, 0:480i 1:576i 2:480p 3:576p 4:720p50 5:720p60 6:1080i50 7:1080i60 8:1080p24 9:1080p50 10:1080p60 11:pal 14:ntsc)

 

显示驱动配置的默认参数设置如下 :
screen0_output_type = 3  
screen0_output_mode =5  
即为将显示设置为了 HDMI类型输出,并以 750p60hz 的格式输出

改为:

screen0_output_type = 1
screen0_output_mode =2

 

重新打包:

进入Android 目录下,执行以下步骤即可生成新的镜像文件:
#source build/envsetup.sh  设置编译环境变量 
#lunch  选15 
#extract_bsp  复制linux kernel 的内核模块驱动等文件到android中,为打包做准备
#pack  打包img

你可能感兴趣的:(cubieboard2)