cubieboard2 android,在cubieboard2双卡版上从零构建Android4.2.2系统「建议收藏」

cubieboard2 android,在cubieboard2双卡版上从零构建Android4.2.2系统「建议收藏」板子买了一段时间,终于有时间可以玩玩了,论坛上找浪费了很多时间。把虚拟机环境搭建起来,编译好镜像就可以直接使用烧写工具烧写到TF卡上了。由于买的是双TF卡插槽,没有nand,所以只能在TF卡上制作镜像了。制作过程参考官方文档,好好总结一下,一来以后自己再做时图懒图方便,二来可以方便后来人。主要可以分为一下几个步骤:一、搭建编译环境可以在XP或win7系统上安装虚拟机,在虚拟机中安装交叉编译工具来编…

大家好,又见面了,我是你们的朋友全栈君。

板子买了一段时间,终于有时间可以玩玩了,论坛上找浪费了很多时间。把虚拟机环境搭建起来,编译好镜像就可以直接使用烧写工具烧写到TF卡上了。由于买的是双TF卡插槽,没有nand,所以只能在TF卡上制作镜像了。制作过程参考官方文档,好好总结一下,一来以后自己再做时图懒图方便,二来可以方便后来人。

主要可以分为一下几个步骤:

一、搭建编译环境

可以在XP或win7系统上安装虚拟机,在虚拟机中安装交叉编译工具来编译Android,一份Android代码编译下来,至少占50G左右的空间,所以要准备

足够的空间,也可以直接装Ubuntu。

二、源码下载并编译

图方便,直接从cubieboard官方网站的FTP下载,有时间可以从git下载,可以同步更新。

三、使用烧写工具将固件烧入到TF卡上。

一、搭建编译环境

$sudo apt-get update

$sudo apt-get upgrade

$sudo apt-get install build-essential u-boot-tools uboot-mkimage binutils-arm-linuxgnueabihf gcc-arm-linux-gnueabi gcc-arm-linux-gnueabihf cpp-arm-linux-gnueabihf libusb-1.0-0 libusb-1.0-0-dev git wget fakeroot kernel-package zlib1g-dev libncurses5-dev

$sudo apt-get install build-essential git u-boot-tools texinfo texlive ccache zlib1g-dev gawk bison flex gettext uuid-dev

$sudo apt-get install ia32-libs

$sudo apt-get install ncurses-dev

1.1 首先安装虚拟机及Ubuntu

要安装vmware_tools时在win和Ubuntu之间拷贝文件。

1.2 安装JDK

编译Android需要安装JDK工具,因此安装好虚拟机后需要安装这个工具。可以到官方网站上去下:

$wget dl.cubieboard.org/software/tools/android/jdk1.6.0_33.tar.gz

将其解压到/work/tools目录下,然后修改etc/profile文件设置一些环境配置变量,添加以下配置变量:

JAVA_HOME=/work/tools/jdk1.6.0_33

export JRE_HOME=/work/tools/jdk1.6.0_33/jre

export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

然后source以下:$source etc/profile

1.3 编译Android需要64位的,对于其他版本的需要安装以下包来支持编译:

sudo apt-get install git gnupg flex bison gperf build-essential \

zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \

libx11-dev:i386 libreadline6-dev:i386 g++-multilib mingw32 tofrodos \

python-markdown libxml2-utils xsltproc zlib1g-dev:i386

1.4 然后安装交叉编译工具工具链:

1. $sudo apt-get update

2. $sudo apt-get upgrade

3. $sudo apt-get install build-essential u-boot-tools uboot-mkimage binutils-arm-linuxgnueabihf gcc-arm-linux-gnueabi gcc-arm-linux-gnueabihf cpp-arm-linux-gnueabihf libusb-1.0-0 libusb-1.0-0-dev git wget fakeroot kernel-package zlib1g-dev libncurses5-dev

4. $sudo apt-get install build-essential git u-boot-tools texinfo texlive ccache zlib1g-dev gawk

bison flex gettext uuid-dev

5. $sudo apt-get install ia32-libs

6. $sudo apt-get install ncurses-dev

二、源码下载并编译

2.1 可以使用git建立自己的仓库下载,也可以直接从官方网站上下载:

http://dl.cubieboard.org/software/a20-cubieboard/android/CubieBoard2_SDK_20140508.tar.gz

2.2 下载后解压源码:

$tar xvzf CubieBoard2_SDK_20140508.tar.gz

2.3 拷贝配置文件:

$cd lichee

$cp linux-3.4/arch/arm/configs/cubieboard2_config linux-3.4/.config

2.4 编译内核

./build.sh -p sun7i_android

当出现以下信息时,说明成功编译:

INFO: build u-boot OK.

INFO: build rootfs …

INFO: skip make rootfs for android

INFO: build rootfs OK.

INFO: build lichee OK.

2.5 编译Android部分:输入 15 (15. sugar_cubieboard2-eng)

$cd android

$source build/envsetup.sh

$lunch

2.6 编译和打包:将uboot、kernel、rootfs等镜像打包成img文件

$extract-bsp

$make -j8

$pack

最后会打印固件生成的位置,以下为我的固件生成的位置:/lichee/tools/pack/sun7i_android_sugar-cubieboard2.img

三、使用烧写工具将固件烧入到TF卡上。

3.1 烧写工具下载地址:http://pan.baidu.com/s/1eQtb4eI

3.2 在PC win环境下插入读卡器,将其他多余的USB设备卸载掉,打开 PhoenixCard.exe,按照以下进行设置:

34128833

完成设置后,点击烧录,直到出现如下面图片一样的现实就表明成功了

34128833

3.3 从TF卡启动Android,在PC上安装串口环境,使用putty

34128833

启动成功信息:

base bootcmd=run setargs_mmc boot_normal

bootcmd set setargs_mmc

key 0

recovery key high 6, low 4

cant find fstbt value

to be run cmd=run setargs_mmc boot_normal

the user data’magic is bad

WORK_MODE_BOOT

WORK_MODE_BOOT

[      0.965]Hit any key to stop autoboot:  0

read boot or recovery all

[      6.929]sunxi flash read :offset 4000000, 12287631 bytes OK

[      6.939]ready to boot

[      6.942]

Starting kernel …

aw_pm_init: not support super standby.

aw_pm_init: script_parser_fetch err.

notice: ir_wakeup = 0.

can’t get item foremac_power gpio !

[hdmi]hdmi module init

##fb init:w=1920,h=1080,fbmode=3

init: reading config file

init: ———–没找到sata节点,nand启动————–

init: logo match failed!fbsize = 8294400

init: HDMI status = 1, try10 times!TV status = 0

init: start e2fsck listening…

[hdmi]hdmi module init

EXT4-fs (mmcblk0p12): VFS: Can’t find ext4 filesystem

init: buffer : /dev/block/mmcblk0p12[mmc-msg] sdc0 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B

init: do_umount: /data

init: do_umount error = Invalid argument

init: C_IN_START

init: path = /dev/block/data

init: do_umount: /cache

init: dont need format /dev/block/UDISK

init: dont need format /dev/block/private

init: C_IN_START

init: path = /dev/block/cache

init: do_umount: /databk

ir_init: ir_wakeup script_get_item error.

ir_init: power_key script_get_item error.

ir_init: ir_addr_code script_get_item error.

failed to get gpio_para used information

[sunxi_leds_init] request gpio188 failed

init: untracked pid 1152 exited

init: cannot find ‘/system/etc/install-recovery.sh’, disabling’flash_recovery’

android_usb: already disabled

init: usingdeprecatedsyntaxforspecifying property’sys.usb.config’, use ${name} instead

init: usingdeprecatedsyntaxforspecifying property’sys.usb.config’, use ${name} instead

sh

root@android:/ #

root@android:/ #

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/163029.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pgsql数据库恢复_oracle多字段去重

    pgsql数据库恢复_oracle多字段去重概述今天主要介绍一下Oracle、MySQL、sqlserver、pg数据库在删除重复数据时是怎么实现的。这里用实例来说明。一、Oracle数据库去重1、环境准备可以看到“ALLEN”和“SMITH”这两个人的数据重复了,现在要求表中name重复的数据只保留一行,其他的删除。CREATETABLEhwb(idint,namevarchar(10));INSERTINTOhwbVALUES(1,’TOM’);INSERTINTOhwbVALUES(2

    2022年10月1日
    2
  • 100道Go语言面试题

    100道Go语言面试题多选题1.【初级】下面属于关键字的是()A.funcB.defC.structD.class参考答案:AC2.【初级】定义一个包内全局字符串变量,下面语法正确的是()A.varstrstringB.str:=””C.str=””D.varstr=””参考答案:AD3.【初级】通过指针变量p访问其成员变量name,下面语法正确的是()A.p.nameB.(*p).nameC.(&…

    2022年6月28日
    36
  • github:pycharm 2021激活码【在线注册码/序列号/破解码】

    github:pycharm 2021激活码【在线注册码/序列号/破解码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月20日
    44
  • Matlab中axis函数用法总结[通俗易懂]

    Matlab中axis函数用法总结[通俗易懂]axis主要是用来对坐标轴进行一定的缩放操作,其操作命令主要如下:1、axis([xminxmaxyminymax])设置当前坐标轴x轴和y轴的限制范围2、axis([xminxmaxyminymaxzminzmaxcmincmax])设置x,y,z轴的限制范围和色差范围。3、v=axis返回一个行向量,记录了坐标范围4、axis…

    2022年6月14日
    124
  • 排序二叉树及其遍历「建议收藏」

    排序二叉树及其遍历「建议收藏」  所谓建立排序二叉树就是,就是将各结点数据元素顺序插到一棵二叉树中,在插入的过程中,始终保持二叉树中每个结点的值都大于其左子树上每个结点的值,而小于或等于其右子树上每个结点的值,每个结点信息包括结点数据(结点值)、左子树指针、右子树指针。程序执行的过程中,bt指针始终指向根结点,p指针指向当前已找到的结点,q指针不断向下寻找新的结点。  为实现二叉树的非递归算法,需要设置一个栈来保存指向结点

    2022年7月25日
    6
  • linux双系统默认进入win10,win10 linux 双系统 默认win10启动

    linux双系统默认进入win10,win10 linux 双系统 默认win10启动双系统怎么设置Win10系统为默认启动系统。Win10一出来,我就去安装尝试了,在自己电脑上安装了Win10双系统。安装后Win10就是默认启动系统了,那么要想让以前的系统为默认系统怎么设置呢,今天我就给大家介绍下Win10双系统怎么设置默认启动系统。1、在Win10系统下同时按下组合键“Win+R”,打开运行工具,输入“msconfig”,然后点击确定,如下图所示。2、在系统设置界面上点击“引导…

    2022年7月24日
    13

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号