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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 电子商务网站安全_跨境电商有哪些平台

    电子商务网站安全_跨境电商有哪些平台电商网站安全应对之道(电商网站安全的威胁类型:https://blog.csdn.net/qq_29039705/article/details/80486795)一、预防逻辑漏洞进行业务流程梳理接口会发加签名和超时机制避免通过前端进行验证和现在减少暴露给用户的参数增加共享数据互斥机制不要相信用户输入检查用户输入二、预防越权操作任何涉及用户权限的操作均匀会话关联参数的加密及模糊化严格验证程序逻辑顺…

    2022年10月1日
    2
  • 查看端口 并关闭端口

    查看端口 并关闭端口假如在Windows平台下,我们的端口号被谁占用了,以8080端口为例:       在,命令行输入:netstat-nao出现: 协议 本地地址     外部地址    状态     PID TCP  0.0.0.0:135      0.0.0.0:0       LISTENING  

    2022年7月20日
    19
  • 【树莓派4B学习】十四、树莓派4B串口通信

    【树莓派4B学习】十四、树莓派4B串口通信树莓派的串口默认为SSH调试使用树莓派如何开启串口,这里不再赘述可参考这里一、必须要先知道的储备知识树莓派4B的外设一共包含两个串口,一个称之为硬件串口(/dev/ttyAMA0),一个称之为mini串口(/dev/ttyS0)。硬件串口由硬件实现,有单独的波特率时钟源,性能高、可靠,mini串口性能低,功能也简单,并且没有波特率专用的时钟源而是由CPU内核时钟提供,因此mini串…

    2022年5月26日
    109
  • unity打开相册选择图片_unity源文件怎么打开

    unity打开相册选择图片_unity源文件怎么打开最近做项目需要用到这个功能,就是在Unity中调用Android本地相册或直接打开摄像机拍照并且裁剪一部分用于用户头像,今天研究了一下,那么研究出成果了MOMO一定要分享给大家。Unity与Android的交互还有谁不会??如果有不会的朋友请看MOMO之前的文章喔,Unity3D研究院之打开Activity与调用JAVA代码传递参数(十八)这里有关交互的方式就不详细说明,主要将如何在Unity中

    2022年9月22日
    3
  • python 模板匹配原理与实战

    python 模板匹配原理与实战1 简述为了让大家不至于看到后面的公式就退却 我先简单描述一下模板匹配的原理 简单来说 模板匹配就是你拿一个模板 图片 在目标图片上依次滑动 每次计算模板与模板下方的子图的相似度 最后我们就计算出了非常多的相似度 如果你只是单个目标的匹配 那你只需要取相似度最大值所在的位置就可以得出匹配位置 如果你要匹配多个目标 那就设定一个阈值 就是说 只要咋俩的相似度大于比如 0 8 我就认为你是我要匹配的目标 2 原理 2 1 原理步骤你有一张模板图像 TTT 和一张较大的待搜索图像 III 模板匹配是

    2025年9月3日
    2
  • ext grid设置选中行

    ext grid设置选中行varmodel=grid.getSelectionModel(); model.selectAll();//选择所有行 model.selectFirstRow();//选择第一行 model.selectLastRow([flag]);//选择最后一行,flag为正的话保持当前已经选中的行数,不填则默认falsemodel.selectN

    2022年7月27日
    3

发表回复

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

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