01按照官方步骤编译NanoPiM1Plus的Android

大文实验室/大文哥

壹捌陆捌零陆捌捌陆捌贰

21504965 AT qq.com

完成时间:2017/12/6 10:58

版本:V1.0

开发板:NanoPi M1 Plus/zh

SDK:Android4.4.2

1、最近考虑玩一下H3,开发板使用了nanoPi Plus。

http://wiki.friendlyarm.com/wiki/index.php/NanoPi_M1_Plus/zh#.E5.87.86.E5.A4.87.E5.B7.A5.E4.BD.9C_3

NanoPi M1 Plus/zh

https://pan.baidu.com/s/1boNTLKF

官方SDK的下载网盘地址。

SDK不是常用的*.tar.gz或者*.tar.bz2。而是少见的*.7z格式。不过7Z的压缩比确实比较高(优于*.tar.gz)!

由于服务器的编译环境是可以编译全志A31S平台的,因此几乎不需要做更改了!

官方的编译步骤:

如何编译Android系统的BSP

准备工作

访问此处下载地址的sources/nanopi-h3-bsp目录,下载所有压缩文件,使用7-Zip工具解压后得到lichee目录和android目录,请务必保证这2个目录位于同一个目录中,如下:

 

$ ls ./

android lichee

也可以从github上克隆lichee源码:

 

$ git clone https://github.com/friendlyarm/h3_lichee.git lichee

注:lichee是全志为其CPU的板级支持包所起的项目名称,里面包含了U-boot,Linux等源码和众多的编译脚本。

 

编译全志 H3 的BSP源码包必须使用 64bit 的Linux系统,并安装下列软件包,下列操作均基于Ubuntu-14.04 LTS-64bit:

 

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

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

libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \

libgl1-mesa-dev g++-multilib mingw32 tofrodos \

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

安装交叉编译器

访问此处下载地址的toolchain目录,下载交叉编译器压缩包gcc-linaro-arm.tar.xz,然后将该压缩包放置在lichee/brandy/toochain/目录下即可,无需解压。

 

编译Android

搭建编译环境

搭建编译Android的环境建议使用64位的Ubuntu-14.04 LTS-64bit,安装需要的包即可。

 

$ sudo apt-get install bison g++-multilib git gperf libxml2-utils make python-networkx zip flex libncurses5-dev zlib1g-dev gawk minicom

更多说明可查看:android_initializing。

 

安装JDK

使用JDK1.6.0_45版本,下载和安装说明请查看Oracle官方网址:Oracle JDK ,这里假设JDK已经成功安装到路径/usr/lib/jvm/下。

 

编译系统

$ cd lichee/fa_tools/

$ ./build.sh -b nanopi-m1-plus -p android -t all

$ cd ../../android

$ export PATH=/usr/lib/jvm/jdk1.6.0_45/bin:$PATH

$ ./build.sh -b nanopi-m1-plus

上述命令会编译lichee目录和android目录,编译完成后会在lichee/tools/pack/目录下生成Android系统固件sun8iw7p1_android_nanopi-m1-plus_uart0.img。

 

清理lichee源码

$ cd lichee/fa_tools/

$ ./build.sh -b nanopi-m1-plus -p android -t clean

固件下载地址

NanoPi M1 Plus 固件下载:[1]

7za x解压缩SDK:

访问此处下载地址的toolchain目录,下载交叉编译器压缩包gcc-linaro-arm.tar.xz,然后将该压缩包放置在lichee/brandy/toochain/目录下即可,无需解压。

2、按照官方的办法编译系统:

cd lichee/fa_tools/

./build.sh -b nanopi-m1-plus -p android -t all

cd ../../android

./build.sh -b nanopi-m1-plus

rootroot@cm-System-Product-Name:/home/wwt/nanopim1plus_h3_bsp$ ll

总用量 4754836

drwxrwxr-x 26 rootroot rootroot       4096  6月  8 18:34 android

-rwxrw-r--  1 rootroot rootroot 4425329745 12月  5 12:03 android_nanopi_m1plus_20171205_1156.tar.gz

drwxrwxr-x  8 rootroot rootroot       4096  6月  8 18:50 lichee

-rwxrw-r--  1 rootroot rootroot  443604636 12月  5 11:55 lichee_nanopi_m1plus_20171205_1155.tar.gz

rootroot@cm-System-Product-Name:/home/wwt/nanopim1plus_h3_bsp$

rootroot@cm-System-Product-Name:/home/wwt/nanopim1plus_h3_bsp$

rootroot@cm-System-Product-Name:/home/wwt/nanopim1plus_h3_bsp$ cd lichee/fa_tools/

rootroot@cm-System-Product-Name:/home/wwt/nanopim1plus_h3_bsp/lichee/fa_tools$

rootroot@cm-System-Product-Name:/home/wwt/nanopim1plus_h3_bsp/lichee/fa_tools$ll

总用量 20

-rwxr-xr-x 1 rootroot rootroot 5897  6月  9 11:30 build.sh

-rwxr-xr-x 1 rootroot rootroot 1602  6月  8 18:40 format_sd.sh

-rwxr-xr-x 1 rootroot rootroot 5544  6月  8 18:40 fuse.sh

rootroot@cm-System-Product-Name:/home/wwt/nanopim1plus_h3_bsp/lichee/fa_tools$

rootroot@cm-System-Product-Name:/home/wwt/nanopim1plus_h3_bsp/lichee/fa_tools$

rootroot@cm-System-Product-Name:/home/wwt/nanopim1plus_h3_bsp/lichee/fa_tools$./build.sh -b nanopi-m1-plus -p android -t all

INFO: preparing sys_config.fex

_config.fex"

All available lichee lunch:

0. sun8iw6p1-android-eagle

1. sun8iw6p1-android-secure

2. sun8iw7p1-android-dolphin

3. sun8iw7p1-android-secure

4. sun8iw7p1-android-karaok

5. sun8iw8p1-android

6. sun9iw1p1-android-jaws

7. sun9iw1p1-android-secure

8. sun9iw1p1-android-optimus

using kernel ‘linux-3.4‘:

LICHEE_CHIP=sun8iw7p1

LICHEE_PLATFORM=android

LICHEE_BUSINESS=dolphin

LICHEE_BOARD=

LICHEE_KERN_VER=linux-3.4

/home/wwt/nanopim1plus_h3_bsp/lichee

"board/sys_config_nanopi-m1-plus.fex" -> "sys_config.fex"

/home/wwt/nanopim1plus_h3_bsp/lichee

INFO: ----------------------------------------

INFO: build lichee ...

INFO: chip: sun8iw7p1

INFO: platform: android

INFO: business: dolphin

INFO: kernel: linux-3.4

INFO: board:

INFO: output: out/sun8iw7p1/android/

INFO: ----------------------------------------

INFO: build kernel ...

INFO: prepare toolchain ...

Prepare toolchain ...

Building kernel

/home/wwt/nanopim1plus_h3_bsp/lichee/linux-3.4/output/lib/modules/3.4.39-h3

Using default config sun8iw7p1smp_android_defconfig ...

HOSTCC  scripts/basic/fixdep

HOSTCC  scripts/kconfig/conf.o

SHIPPED scripts/kconfig/zconf.tab.c

SHIPPED scripts/kconfig/zconf.lex.c

SHIPPED scripts/kconfig/zconf.hash.c

HOSTCC  scripts/kconfig/zconf.tab.o

HOSTLD  scripts/kconfig/conf

scripts/kconfig/conf --silentoldconfig Kconfig

WRAP    arch/arm/include/generated/asm/auxvec.h

WRAP    arch/arm/include/generated/asm/bitsperlong.h

CHK     include/linux/version.h

WRAP    arch/arm/include/generated/asm/cputime.h

WRAP    arch/arm/include/generated/asm/errno.h

WRAP    arch/arm/include/generated/asm/emergency-restart.h

UPD     include/linux/version.h

WRAP    arch/arm/include/generated/asm/ioctl.h

WRAP    arch/arm/include/generated/asm/irq_regs.h

WRAP    arch/arm/include/generated/asm/kdebug.h

WRAP    arch/arm/include/generated/asm/local.h

WRAP    arch/arm/include/generated/asm/local64.h

WRAP    arch/arm/include/generated/asm/poll.h

WRAP    arch/arm/include/generated/asm/percpu.h

WRAP    arch/arm/include/generated/asm/resource.h

WRAP    arch/arm/include/generated/asm/sections.h

WRAP    arch/arm/include/generated/asm/siginfo.h

WRAP    arch/arm/include/generated/asm/sizes.h

make[2]: 正在进入目录 `/home/wwt/nanopim1plus_h3_bsp/lichee/brandy/u-boot-2011.09/sunxi_spl/sbrom/main‘

CC      sbromsw_head.c ...

CC      brom.S ...

CC      sbrom_main.c ...

CC      sbromsw_toc1.c ...

CC      sbromsw_hash.c ...

make[2]:正在离开目录 `/home/wwt/nanopim1plus_h3_bsp/lichee/brandy/u-boot-2011.09/sunxi_spl/sbrom/main‘

make -C /home/wwt/nanopim1plus_h3_bsp/lichee/brandy/u-boot-2011.09/sunxi_spl/sbrom/spl/

make[2]: 正在进入目录 `/home/wwt/nanopim1plus_h3_bsp/lichee/brandy/u-boot-2011.09/sunxi_spl/sbrom/spl‘

make[2]:正在离开目录 `/home/wwt/nanopim1plus_h3_bsp/lichee/brandy/u-boot-2011.09/sunxi_spl/sbrom/spl‘

make[2]: 正在进入目录 `/home/wwt/nanopim1plus_h3_bsp/lichee/brandy/u-boot-2011.09/sunxi_spl/sbrom/spl‘

CC      /home/wwt/nanopim1plus_h3_bsp/lichee/brandy/u-boot-2011.09/arch/arm/cpu/armv7/sun8iw7/spl/ss_spl.c ...

CC      /home/wwt/nanopim1plus_h3_bsp/lichee/brandy/u-boot-2011.09/arch/arm/cpu/armv7/sun8iw7/spl/smta_spl.c ...

CC      /home/wwt/nanopim1plus_h3_bsp/lichee/brandy/u-boot-2011.09/arch/arm/cpu/armv7/sun8iw7/spl/smc_spl.c ...

CC      /home/wwt/nanopim1plus_h3_bsp/lichee/brandy/u-boot-2011.09/arch/arm/cpu/armv7/sun8iw7/spl/gic_spl.c ...

CC      /home/wwt/nanopim1plus_h3_bsp/lichee/brandy/u-boot-2011.09/arch/arm/cpu/armv7/sun8iw7/spl/debug.c ...

CC      /home/wwt/nanopim1plus_h3_bsp/lichee/brandy/u-boot-2011.09/arch/arm/cpu/armv7/sun8iw7/spl/ctype.c ...

CC      /home/wwt/nanopim1plus_h3_bsp/lichee/brandy/u-boot-2011.09/arch/arm/cpu/armv7/sun8iw7/spl/eabi_compat.c ...

make[2]:正在离开目录 `/home/wwt/nanopim1plus_h3_bsp/lichee/brandy/u-boot-2011.09/sunxi_spl/sbrom/spl‘

make -C /home/wwt/nanopim1plus_h3_bsp/lichee/brandy/u-boot-2011.09/sunxi_spl/spl/lib/

make[2]: 正在进入目录 `/home/wwt/nanopim1plus_h3_bsp/lichee/brandy/u-boot-2011.09/sunxi_spl/spl/lib‘

make[2]: 没有什么可以做的为 `all‘。

make[2]:正在离开目录 `/home/wwt/nanopim1plus_h3_bsp/lichee/brandy/u-boot-2011.09/sunxi_spl/spl/lib‘

sunxi_spl/sbrom/main/sboot.lds >/home/wwt/nanopim1plus_h3_bsp/lichee/brandy/u-boot-2011.09/sunxi_spl/sbrom/sboot.lds

-T/home/wwt/nanopim1plus_h3_bsp/lichee/brandy/u-boot-2011.09/sunxi_spl/sbrom/sboot.lds -o sboot.axf -Map sboot.map

m/sboot.axf /home/wwt/nanopim1plus_h3_bsp/lichee/brandy/u-boot-2011.09/sunxi_spl/sbrom/sboot.bin

make[1]:正在离开目录 `/home/wwt/nanopim1plus_h3_bsp/lichee/brandy/u-boot-2011.09/sunxi_spl/sbrom‘

fatal: Not a git repository (or any parent up to mount point /home/wwt)

Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).

build_sboot

"sboot_sun8iw7p1.bin" -> "/home/wwt/nanopim1plus_h3_bsp/lichee/brandy/u-boot-2011.09/../../tools/pack/chips/sun8iw7p1/bin/sboot_sun8iw7p1.bin"

INFO: build uboot ok.

INFO: ----------------------------------------

INFO: build sun8iw7p1 android dolphin lichee OK

INFO: ----------------------------------------

INFO: build lichee for ANDROID platform success. Please build and pack in Android directory

rootroot@cm-System-Product-Name:/home/wwt/nanopim1plus_h3_bsp/lichee/fa_tools$

rootroot@cm-System-Product-Name:/home/wwt/nanopim1plus_h3_bsp/lichee/fa_tools$

rootroot@cm-System-Product-Name:/home/wwt/nanopim1plus_h3_bsp/lichee/fa_tools$cd ../../android

rootroot@cm-System-Product-Name:/home/wwt/nanopim1plus_h3_bsp/android$

rootroot@cm-System-Product-Name:/home/wwt/nanopim1plus_h3_bsp/android$

rootroot@cm-System-Product-Name:/home/wwt/nanopim1plus_h3_bsp/android$ ll

总用量 108

drwxrwxr-x   3 rootroot rootroot 4096  6月 23  2015 abi

drwxrwxr-x  11 rootroot rootroot 4096  3月 25  2016 art

drwxrwxr-x   9 rootroot rootroot 4096  3月 25  2016 bionic

drwxrwxr-x   5 rootroot rootroot 4096  6月 23  2015 bootable

drwxrwxr-x   6 rootroot rootroot 4096  3月 25  2016 build

-rwxr-xr-x   1 rootroot rootroot 1587  6月  8 18:34 build.sh

drwxrwxr-x  10 rootroot rootroot 4096  3月 25  2016 cts

drwxrwxr-x  15 rootroot rootroot 4096  3月 25  2016 dalvik

drwxrwxr-x   6 rootroot rootroot 4096  6月 23  2015 developers

drwxrwxr-x  17 rootroot rootroot 4096  3月 25  2016 development

drwxrwxr-x  10 rootroot rootroot 4096  6月 23  2015 device

drwxrwxr-x   3 rootroot rootroot 4096  6月 23  2015 docs

drwxrwxr-x 172 rootroot rootroot 4096  6月 23  2015 external

drwxrwxr-x  17 rootroot rootroot 4096  6月 23  2015 frameworks

drwxrwxr-x  12 rootroot rootroot 4096  6月 23  2015 hardware

drwxrwxr-x  16 rootroot rootroot 4096  3月 25  2016 libcore

drwxrwxr-x   3 rootroot rootroot 4096  3月 25  2016 libnativehelper

-r--r--r--   1 rootroot rootroot   87  6月 23  2015 Makefile

drwxrwxr-x   7 rootroot rootroot 4096  3月 25  2016 ndk

drwxrwxr-x   9 rootroot rootroot 4096  6月 23  2015 packages

drwxrwxr-x   5 rootroot rootroot 4096  3月 25  2016 pdk

drwxrwxr-x  13 rootroot rootroot 4096  6月 23  2015 prebuilts

drwxrwxr-x  25 rootroot rootroot 4096  3月 25  2016 sdk

-rwxr-xr-x   1 rootroot rootroot  119  8月  1  2016 setenv

drwxrwxr-x   8 rootroot rootroot 4096  6月 23  2015 system

drwxrwxr-x   3 rootroot rootroot 4096  6月 23  2015 tools

drwxrwxr-x   4 rootroot rootroot 4096  6月 23  2015 vendor

rootroot@cm-System-Product-Name:/home/wwt/nanopim1plus_h3_bsp/android$

rootroot@cm-System-Product-Name:/home/wwt/nanopim1plus_h3_bsp/android$

rootroot@cm-System-Product-Name:/home/wwt/nanopim1plus_h3_bsp/android$

rootroot@cm-System-Product-Name:/home/wwt/nanopim1plus_h3_bsp/android$ ./build.sh -b nanopi-m1-plus

INFO: preparing boardconfig.mk

"device/softwinner/nanopi-h3/BoardConfig/BoardConfig_nanopi-m1-plus.mk" -> "device/softwinner/nanopi-h3/BoardConfig/../BoardConfig.mk"

including device/softwinner/nanopi-h3/vendorsetup.sh

including device/softwinner/eagle-fvd-p1/vendorsetup.sh

including device/softwinner/eagle-fvd-p1-secure/vendorsetup.sh

including device/softwinner/common/vendorsetup.sh

including device/softwinner/dolphin-fvd-p1/vendorsetup.sh

including device/lge/mako/vendorsetup.sh

including device/lge/hammerhead/vendorsetup.sh

including device/samsung/manta/vendorsetup.sh

including device/generic/x86/vendorsetup.sh

including device/generic/mips/vendorsetup.sh

including device/generic/armv7-a-neon/vendorsetup.sh

including device/asus/tilapia/vendorsetup.sh

including device/asus/deb/vendorsetup.sh

including device/asus/grouper/vendorsetup.sh

including device/asus/flo/vendorsetup.sh

including sdk/bash_completion/adb.bash

============================================

PLATFORM_VERSION_CODENAME=REL

PLATFORM_VERSION=4.4.2

TARGET_PRODUCT=nanopi_h3

TARGET_BUILD_VARIANT=eng

TARGET_BUILD_TYPE=release

TARGET_BUILD_APPS=

TARGET_ARCH=arm

TARGET_ARCH_VARIANT=armv7-a-neon

TARGET_CPU_VARIANT=cortex-a7

HOST_ARCH=x86

HOST_OS=linux

HOST_OS_EXTRA=Linux-3.13.0-24-generic-x86_64-with-Ubuntu-14.04-trusty

HOST_BUILD_TYPE=release

BUILD_ID=KOT49H

OUT_DIR=out

============================================

/home/wwt/nanopim1plus_h3_bsp/android/device/*/nanopi-h3/bImage copied!

/home/wwt/nanopim1plus_h3_bsp/android/device/*/nanopi-h3/modules copied!

============================================

PLATFORM_VERSION_CODENAME=REL

PLATFORM_VERSION=4.4.2

TARGET_PRODUCT=nanopi_h3

TARGET_BUILD_VARIANT=eng

TARGET_BUILD_TYPE=release

TARGET_BUILD_APPS=

TARGET_ARCH=arm

TARGET_ARCH_VARIANT=armv7-a-neon

TARGET_CPU_VARIANT=cortex-a7

HOST_ARCH=x86

HOST_OS=linux

HOST_OS_EXTRA=Linux-3.13.0-24-generic-x86_64-with-Ubuntu-14.04-trusty

HOST_BUILD_TYPE=release

BUILD_ID=KOT49H

OUT_DIR=out

============================================

Checking build tools versions...

including ./abi/cpp/Android.mk ...

including ./art/Android.mk ...

including ./bionic/Android.mk ...

including ./bootable/diskinstaller/Android.mk ...

including ./bootable/recovery/Android.mk ...

including ./build/libs/host/Android.mk ...

including ./build/target/board/Android.mk ...

including ./build/tools/Android.mk ...

including ./cts/Android.mk ...

out/target/product/nanopi-h3/obj/APPS/SignatureTest_intermediates

including ./dalvik/Android.mk ...

including ./development/apps/BluetoothDebug/Android.mk ...

including ./development/apps/BuildWidget/Android.mk ...

including ./development/apps/CustomLocale/Android.mk ...

including ./development/apps/Development/Android.mk ...

including ./development/apps/DevelopmentSettings/Android.mk ...

including ./development/apps/Fallback/Android.mk ...

aapt: warning: **** string ‘widget_unread‘ has no default or required localization for ‘uk_UA‘ in packages/apps/Email/../../../frameworks/support/v7/gridlayout/res

aapt: warning: **** string ‘widget_unread‘ has no default or required localization for ‘vi_VN‘ in packages/apps/Email/../../../frameworks/support/v7/gridlayout/res

aapt: warning: **** string ‘widget_unread‘ has no default or required localization for ‘tl_PH‘ in packages/apps/Email/../../../frameworks/support/v7/gridlayout/res

aapt: warning: **** string ‘widget_unread‘ has no default or required localization for ‘ar_EG‘ in packages/apps/Email/../../../frameworks/support/v7/gridlayout/res

aapt: warning: **** string ‘widget_unread‘ has no default or required localization for ‘fa_IR‘ in packages/apps/Email/../../../frameworks/support/v7/gridlayout/res

aapt: warning: **** string ‘widget_unread‘ has no default or required localization for ‘th_TH‘ in packages/apps/Email/../../../frameworks/support/v7/gridlayout/res

aapt: warning: **** string ‘widget_unread‘ has no default or required localization for ‘sw_TZ‘ in packages/apps/Email/../../../frameworks/support/v7/gridlayout/res

aapt: warning: **** string ‘widget_unread‘ has no default or required localization for ‘ms_MY‘ in packages/apps/Email/../../../frameworks/support/v7/gridlayout/res

aapt: warning: **** string ‘widget_unread‘ has no default or required localization for ‘af_ZA‘ in packages/apps/Email/../../../frameworks/support/v7/gridlayout/res

aapt: warning: **** string ‘widget_unread‘ has no default or required localization for ‘zu_ZA‘ in packages/apps/Email/../../../frameworks/support/v7/gridlayout/res

aapt: warning: **** string ‘widget_unread‘ has no default or required localization for ‘am_ET‘ in packages/apps/Email/../../../frameworks/support/v7/gridlayout/res

aapt: warning: **** string ‘widget_unread‘ has no default or required localization for ‘hi_IN‘ in packages/apps/Email/../../../frameworks/support/v7/gridlayout/res

aapt: warning: **** string ‘widget_unread‘ has no default or required localization for ‘en_XA‘ in packages/apps/Email/../../../frameworks/support/v7/gridlayout/res

aapt: warning: **** string ‘widget_unread‘ has no default or required localization for ‘ar_XB‘ in packages/apps/Email/../../../frameworks/support/v7/gridlayout/res

aapt: warning: **** string ‘widget_unread‘ has no default or required localization for ‘fr_CA‘ in packages/apps/Email/../../../frameworks/support/v7/gridlayout/res

aapt: warning: **** string ‘widget_unread‘ has no default or required localization for ‘mn_MN‘ in packages/apps/Email/../../../frameworks/support/v7/gridlayout/res

aapt: warning: **** string ‘widget_unread‘ has no default or required localization for ‘az_AZ‘ in packages/apps/Email/../../../frameworks/support/v7/gridlayout/res

aapt: warning: **** string ‘widget_unread‘ has no default or required localization for ‘normal‘ in packages/apps/Email/../../../frameworks/support/v7/gridlayout/res

aapt: warning: **** string ‘widget_unread‘ has no default or required localization for ‘hdpi‘ in packages/apps/Email/../../../frameworks/support/v7/gridlayout/res

aapt: warning: **** string ‘widget_unread‘ has no default or required localization for ‘xhdpi‘ in packages/apps/Email/../../../frameworks/support/v7/gridlayout/res

aapt: warning: **** string ‘widget_unread‘ has no default or required localization for ‘xxhdpi‘ in packages/apps/Email/../../../frameworks/support/v7/gridlayout/res

aapt: warning: **** string ‘widget_unread‘ has no default or required localization for ‘nodpi‘ in packages/apps/Email/../../../frameworks/support/v7/gridlayout/res

Warning: AndroidManifest.xml already defines versionCode (in http://schemas.android.com/apk/res/android); using existing value in manifest.

Warning: AndroidManifest.xml already defines minSdkVersion (in http://schemas.android.com/apk/res/android); using existing value in manifest.

Warning: AndroidManifest.xml already defines targetSdkVersion (in http://schemas.android.com/apk/res/android); using existing value in manifest.

Install: out/target/product/nanopi-h3/system/app/Email.apk

get/product/nanopi-h3/obj/NOTICE_FILES/src

Combining NOTICE files into HTML

Combining NOTICE files into text

Installed file list: out/target/product/nanopi-h3/installed-files.txt

Target system fs image: out/target/product/nanopi-h3/obj/PACKAGING/systemimage_intermediates/system.img

ts

/android/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7/bin:/opt/jdk1.6.0_45/bin:/opt/jdk1.6.0_45/jre/bin‘

/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7/bin:/opt/jdk1.6.0_45/bin:/opt/jdk1.6.0_45/jre/bin

+ ENABLE_SPARSE_IMAGE=

+ ‘[‘ -s = -s ‘]‘

+ ENABLE_SPARSE_IMAGE=-s

+ shift

+ ‘[‘ 6 -ne 5 -a 6 -ne 6 ‘]‘

+ SRC_DIR=out/target/product/nanopi-h3/system

+ ‘[‘ ‘!‘ -d out/target/product/nanopi-h3/system ‘]‘

+ OUTPUT_FILE=out/target/product/nanopi-h3/obj/PACKAGING/systemimage_intermediates/system.img

+ EXT_VARIANT=ext4

+ MOUNT_POINT=system

+ SIZE=805306368

+ FC=out/target/product/nanopi-h3/root/file_contexts

+ case $EXT_VARIANT in

+ ‘[‘ -z system ‘]‘

+ ‘[‘ -z 805306368 ‘]‘

+ ‘[‘ -n out/target/product/nanopi-h3/root/file_contexts ‘]‘

+ FCOPT=‘-S out/target/product/nanopi-h3/root/file_contexts‘

nopi-h3/system‘

em

make_ext4fs -s -S out/target/product/nanopi-h3/root/file_contexts -l 805306368 -a system out/target/product/nanopi-h3/obj/PACKAGING/systemimage_intermediates/system.img out/target/product/nanopi-h3/system

+ make_ext4fs -s -S out/target/product/nanopi-h3/root/file_contexts -l 805306368 -a system out/target/product/nanopi-h3/obj/PACKAGING/systemimage_intermediates/system.img out/target/product/nanopi-h3/system

Creating filesystem with parameters:

Size: 805306368

Block size: 4096

Blocks per group: 32768

Inodes per group: 8192

Inode size: 256

Journal blocks: 3072

Label:

Blocks: 196608

Block groups: 6

Reserved block group size: 47

Created filesystem with 1407/49152 inodes and 84297/196608 blocks

+ ‘[‘ 0 -ne 0 ‘]‘

Install system fs image: out/target/product/nanopi-h3/system.img

out/target/product/nanopi-h3/system.img+out/target/product/nanopi-h3/obj/PACKAGING/recovery_patch_intermediates/recovery_from_boot.p maxsize=822163584 blocksize=4224 total=335107178 reserve=8308608

============================================

chip       = sun8iw7p1

platform   = android

board      = nanopi-h3

debug      = uart0

mode       = normal

function   = none

sigmode    = none

============================================

copying tools file

copying configs file

copying boot resource

copying boot file

"sys_config.bin" -> "script.bin"

packing for android

normal

/home/wwt/nanopim1plus_h3_bsp/lichee/tools/pack/pctools/linux/eDragonEx/

/home/wwt/nanopim1plus_h3_bsp/lichee/tools/pack/out

Begin Parse sys_partion.fex

Add partion bootloader.fex BOOTLOADER_FEX00

Add partion very bootloader.fex BOOTLOADER_FEX00

FilePath: bootloader.fex

FileLength=5b4400Add partion env.fex ENV_FEX000000000

Add partion very env.fex ENV_FEX000000000

FilePath: env.fex

FileLength=20000Add partion boot.fex BOOT_FEX00000000

Add partion very boot.fex BOOT_FEX00000000

FilePath: boot.fex

FileLength=b81800Add partion system.fex SYSTEM_FEX000000

Add partion very system.fex SYSTEM_FEX000000

FilePath: system.fex

FileLength=13ebff88Add partion recovery.fex RECOVERY_FEX0000

Add partion very recovery.fex RECOVERY_FEX0000

FilePath: recovery.fex

FileLength=c64800Add partion sysrecovery.fex SYSRECOVERY_FEX0

Add partion diskfs.fex DISKFS_FEX000000

sys_config.fex Len: 0x5584

config.fex Len: 0x8998

split_xxxx.fex Len: 0x200

sys_partition.fex Len: 0x117a

boot0_nand.fex Len: 0x8000

boot0_sdcard.fex Len: 0x8000

u-boot.fex Len: 0xe4000

fes1.fex Len: 0x31e0

toc1.fex Len: 0x8

toc0.fex Len: 0x8

usbtool.fex Len: 0x23000

aultools.fex Len: 0x26ead

aultls32.fex Len: 0x238dd

cardtool.fex Len: 0x14000

cardscript.fex Len: 0x6ea

sunxi_mbr.fex Len: 0x10000

dlinfo.fex Len: 0x4000

arisc.fex Len: 0x217aa

bootloader.fex Len: 0x5b4400

Vbootloader.fex Len: 0x4

env.fex Len: 0x20000

Venv.fex Len: 0x4

boot.fex Len: 0xb81800

Vboot.fex Len: 0x4

system.fex Len: 0x13ebff88

Vsystem.fex Len: 0x4

recovery.fex Len: 0xc64800

Vrecovery.fex Len: 0x4

sysrecovery.fex Len: 0xb

diskfs.fex Len: 0x200

BuildImg 0

Dragon execute image.cfg SUCCESS !

----------image is at----------

/home/wwt/nanopim1plus_h3_bsp/lichee/tools/pack/sun8iw7p1_android_nanopi-m1-plus_uart0.img

pack finish

rootroot@cm-System-Product-Name:/home/wwt/nanopim1plus_h3_bsp/android$

rootroot@cm-System-Product-Name:/home/wwt/nanopim1plus_h3_bsp/android$

3、刷机:

root@nanopi-h3:/ #

root@nanopi-h3:/ # reboot efex

[ 6795.694407] SysRq : Emergency Remount R/O

[ 6795.698957] The process is "init" (pid 1)

[ 6795.932620] Restarting system.

[ 6795.936023] Restarting Linux version 3.4.39 (rootroot@cm-System-Product-Name) (gcc version 4.6.3 20120201 (prerelease) (crosstool-NG linaro-1.13.1-2012.02-20120222 - Linaro GCC 2012.02) ) #1 SMP PREEMPT Mon Dec 4 16:02:02 CST 2017

[ 6795.936038]

HELLO! BOOT0 is starting!

boot0 version : 4.0.0

boot0 commit : 1234567891234567891234567891234567891234

fel_flag = 0x00000000

rtc[0] value = 0x00000000

rtc[1] value = 0x00000000

rtc[2] value = 0x00000000

rtc[3] value = 0x0000000f

rtc[4] value = 0x00000000

rtc[5] value = 0x00000000

rtc[6] value = 0x00000000

rtc[7] value = 0x00000000

DRAM DRIVE INFO: V1.3

the chip id is 0x00000081

the chip id is 0x00000081

the chip id is 0x00000081

the chip id is 0x00000081

the chip id is 0x00000081

READ DQS LCDL = 00232222

DRAM Type = 3 (2:DDR2,3:DDR3,6:LPDDR2,7:LPDDR3)

DRAM CLK = 576 MHz

DRAM zq value: 003b3bfb

DRAM dram para1: 10f40400

DRAM dram para2: 00000000

DRAM workmode1: 000009f4

DRAM SIZE =1024 M

odt delay

dram size =1024

card boot number = 2

card no is 2

sdcard 2 line count 8

[mmc]: mmc driver ver 2015-04-13 16:07:39

[mmc]: ***Try SD card 2***

[mmc]: mmc 2 cmd 8 err 00000100

[mmc]: mmc 2 cmd 8 err 00000100

[mmc]: mmc 2 send if cond failed

[mmc]: mmc 2 cmd 55 err 00000100

[mmc]: mmc 2 cmd 55 err 00000100

[mmc]: mmc 2 send app cmd failed

[mmc]: ***Try MMC card 2***

[mmc]: mmc re-update_phase

[mmc]: mmc re-update_phase

[mmc]: 8bit ddr!!!

[mmc]: mmc re-update_phase

[mmc]: MMC ver 5.0

[mmc]: SD/MMC Card: 8bit, capacity: 7456MB

[mmc]: vendor: Man 00150100 Snr 0053d9f0

[mmc]: product: 8WPD3

[mmc]: revision: 5.2

[mmc]: ***SD/MMC 2 init OK!!!***

sdcard 2 init ok

The size of uboot is 000e4000.

sum=dd649649

src_sum=dd649649

set_mmc_para,sdly 50M 0

set_mmc_para,sdly 25M 0

Succeed in loading uboot from sdmmc flash.

Ready to disable icache.

Jump to secend Boot.

SUNXI_NORMAL_MODE

[      0.281]e mode

U-Boot 2011.09-rc1 (Dec 04 2017 - 16:02:34) Allwinner Technology

[      0.288]version: 1.1.0

[      0.290]uboot commit : 1234567891234567891234567891234567891234

normal mode

[      0.302]pmbus:   ready

not set main pmu id

axp_probe error

gpio value=0x20000

[      0.339]PMU: pll1 1008 Mhz,PLL6=600 Mhz

AXI=336 Mhz,AHB=200 Mhz, APB1=100 Mhz

sid read already

fel key new mode

run key detect

no key found

no key input

dram_para_set start

dram_para_set end

normal mode

[      0.370]DRAM:  1 GiB

relocation Offset is: 35af2000

[recovery] no use

[box standby] read rtc = 0xf

[box_start_os] mag be start_type no use

user_gpio config

user_gpio ok

gic: normal or no secure os mode

workmode = 0

MMC: 2

[      0.428][mmc]: mmc driver ver 2015-04-13 14:50:00

[      0.433][mmc]: get sdc_phy_wipe fail.

[      0.436][mmc]: get sdc0 sdc_erase fail.

[      0.440][mmc]: get sdc_2xmode ok, val = 1

[      0.445][mmc]: get sdc_ddrmode ok, val = 1

[      0.449][mmc]: get sdc_f_max fail,use default  50000000Hz

[      0.454][mmc]: get card_line ok, card_line = 8

[      0.459][mmc]: get sdc_ex_dly_used fail,use default

[      0.464][mmc]: SUNXI SD/MMC: 2

[      0.477][mmc]: *Try SD card 2*

[      0.480][mmc]: mmc 2 cmd 8 err 100

[      0.486][mmc]: mmc send if cond failed

[      0.490][mmc]: mmc 2 cmd 55 err 100

[      0.495][mmc]: send app cmd failed

[      0.498][mmc]: *Try MMC card 2*

[      0.538][mmc]: mmc re-update_phase

[      0.543][mmc]: mmc re-update_phase

[      0.548][mmc]: mmc re-update_phase

[      0.553][mmc]: ddr8

[      0.555][mmc]: mmc re-update_phase

[      0.572][mmc]: CID 0x15010038 0x57504433 0x520053d9 0xf09ba39d

[      0.577][mmc]: MMC ver 5.0

[      0.580][mmc]: mmc clk 50000000

[      0.583][mmc]: SD/MMC Card: 8bit, capacity: 7456MB

[      0.588][mmc]: boot0 capacity: 4000KB,boot1 capacity: 4000KB

[      0.594][mmc]: ***SD/MMC 2 init OK!!!***

[      0.599][mmc]: erase_grp_size:0x400WrBlk * 0x200 = 0x80000 Byte

[      0.604][mmc]: secure_feature 0x55

[      0.608][mmc]: secure_removal_type  0x9

[      0.612]sunxi flash init ok

script config pll_de to 864 Mhz

Not Found clk pll_video1 in script

script config pll_video to 297 Mhz

script config pll_periph0 to 600 Mhz

unable to find regulator vcc-hdmi-18 from [pmu1_regu] or [pmu2_regu]

enable power vcc-hdmi-18, ret=-1

DRV_DISP_Init end

error: open tv_vdid.fex, maybe it is not exist

error: open disp_rsl.fex, maybe it is not exist

error: open disp_rsl.fex, maybe it is not exist

boot_disp.auto_hpd=1

auto hpd check has 0 times!

attched ok, mgr0<-->device0, type=4, mode=4----

ready to set mode

[      1.491]finally, output_type=0x4, output_mode=0x4, screen_id=0x0, disp_para=0x404

In:    serial

Out:   serial

Err:   serial

--------fastboot partitions--------

-total partitions:14-

-name-        -start-       -size-

bootloader  : 1000000       1000000

env         : 2000000       1000000

boot        : 3000000       1000000

system      : 4000000       30000000

misc        : 34000000      1000000

recovery    : 35000000      2000000

sysrecovery : 37000000      30000000

private     : 67000000      1000000

Reserve0    : 68000000      1000000

klog        : 69000000      1000000

Reserve1    : 6a000000      2000000

Reserve2    : 6c000000      1000000

cache       : 6d000000      28000000

UDISK       : 95000000      0

-----------------------------------

base bootcmd=run setargs_nand boot_normal

bootcmd set setargs_mmc

key 0

cant find rcvy value

cant find fstbt value

misc partition found

find efex cmd

set next system status

drv_disp_exit

sunxi_board_close_source

[      1.589][mmc]: mmc exit start

[      1.605][mmc]: mmc 2 cmd 8 err 100

[      1.610][mmc]: mmc send if cond failed

[      1.614][mmc]: mmc 2 cmd 55 err 100

[      1.619][mmc]: send app cmd failed

[      1.631][mmc]: get sdc_phy_wipe fail.

[      1.635][mmc]: get sdc0 sdc_erase fail.

[      1.638][mmc]: get sdc_2xmode ok, val = 1

[      1.643][mmc]: get sdc_ddrmode ok, val = 1

[      1.647][mmc]: get sdc_f_max fail,use default  50000000Hz

[      1.652][mmc]: get card_line ok, card_line = 8

[      1.657][mmc]: get sdc_ex_dly_used fail,use default

[      1.662][mmc]: mmc 2 exit ok

reset cpu

HELLO! BOOT0 is starting!

boot0 version : 4.0.0

boot0 commit : 1234567891234567891234567891234567891234

fel_flag = 0x5aa5a55a

rtc[0] value = 0x00000000

rtc[1] value = 0x00000000

rtc[2] value = 0x5aa5a55a

rtc[3] value = 0x0000000f

rtc[4] value = 0x00000000

rtc[5] value = 0x00000000

rtc[6] value = 0x00000000

rtc[7] value = 0x00000000

eraly jump fel

54重启使用reboot efex刷机QQ图片20171205172308.jpg

55执行reboot efex选中IMG之后格式化刷机QQ图片20171205171011.jpg

00初始截图360手机助手截图1205_17_13_01.jpg

01初始截图360手机助手截图1205_17_14_01.jpg

02准备切换语言360手机助手截图1205_17_15_01.jpg

03选择Language了360手机助手截图1205_17_17_01.jpg

04打开语言了360手机助手截图1205_17_18_01.jpg

05找到中文了360手机助手截图1205_17_18_01.jpg

06配置中文了360手机助手截图1205_17_18_01.jpg

07打开USB摄像头360手机助手截图1205_17_21_01.jpg

01原始桌面 360手机助手截图1205_14_18_01.jpg

02应用程序界面360手机助手截图1205_14_20_01.jpg

02默认打开以太网360手机助手截图1205_14_19_01.jpg

04打开上网程序360手机助手截图1205_14_20_01.jpg

05简单输入雅虎360手机助手截图1205_14_21_01.jpg

06可以上雅虎了360手机助手截图1205_14_22_01.jpg

07尝试关闭以太网360手机助手截图1205_14_26_01.jpg

08在Android层关闭以太网360手机助手截图1205_14_26_01.jpg

09关闭以太网打开WIFI了360手机助手截图1205_14_28_01.jpg

10显示密码并输入密码之后点连接360手机助手截图1205_14_29_01.jpg

11WIFI已经连接了360手机助手截图1205_14_30_01.jpg

12使用WIFI上网页了360手机助手截图1205_14_37_01.jpg

13打开蓝牙了360手机助手截图1205_14_40_01.jpg

14让其它设备可以检测到360手机助手截图1205_14_41_01.jpg

15配置BT的检测超时设置360手机助手截图1205_14_42_01.jpg

16配置BT的检测超时设置360手机助手截图1205_14_43_01.jpg

17设置BT永不超时360手机助手截图1205_14_44_01.jpg

(由于SDK中只做好了蓝牙的发送程序,蓝牙接收的时候竟然不弹出窗口,好奇葩呀!)
18蓝牙配对请求360手机助手截图1205_14_45_01.jpg

88关于设备360手机助手截图1205_18_45_01.jpg

01按照官方步骤编译NanoPiM1Plus的Android

标签:img   sun   efault   ria   evel   max   package   defcon   雅虎

原文:http://www.cnblogs.com/wb4916/p/7998378.html

01按照官方步骤编译NanoPiM1Plus的Android的更多相关文章

  1. 02使用常规步骤编译NanoPiM1Plus的Android4.4.2

    02使用常规步骤编译NanoPiM1Plus的Android4.4.2 大文实验室/大文哥 壹捌陆捌零陆捌捌陆捌贰 21504965 AT qq.com 完成时间:2017/12/5 17:51 版本 ...

  2. 系列篇|编译可在Android上运行的依赖库(一):glib库

    前言 这是系列文章,它们由<编译可在Android上运行的glib库>及其他4篇文章组成,这4篇文章在“编译依赖库”一节中列出.由于glib库依赖于其他第三方库,所以需要先将依赖的第三方库 ...

  3. 编译可在Android上运行的qemu user mode

    前言 本文在Ubuntu 64位系统上对qemu项目进行交叉编译,并且只编译与qemu user mode有关的代码. 下文中的”NDK”若无特殊说明均指”Android NDK”. 下文中”$NDK ...

  4. java-cef系列视频第一集:从官方代码编译

    本视频介绍了如何从官方给出步骤编译java-cef代码,生成可运行可移植的发行版. 值得一提的是:截至2016-09-24java-cef代码编译方式有所改变,读者请自行查看bitbucket上关于编 ...

  5. 【转】在Ubuntu上下载、编译和安装Android最新源代码

    原文网址:http://blog.csdn.net/luoshengyang/article/details/6559955 看完了前面说的几本书之后,对Linux Kernel和Android有一定 ...

  6. 在Ubuntu上下载、编译和安装Android最新源码

    看完了前面说的几本书之后,对Linux Kernel和Android有一定的认识了,是不是心里蠢蠢欲动,想小试牛刀自己编译一把Android源码了呢?一直习惯使用Windows系统,而Android源 ...

  7. 在Ubuntu上下载、编译和安装Android最新源代码

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6559955 看完了前面说的几本书之后,对Lin ...

  8. 反编译 轻松调频 Android APP 下载“飞鱼秀”录音

    经常听“飞鱼秀”,但是由于时间的原因,只能听回放,但是轻松调频的APP做的有点儿... 听回放的时候经常会中断,还不能拖动进度条,就决定把录音下载下来听. 1.反编译apk(Android反编译过程见 ...

  9. Linux下编译VLC for Android源代码总结

    转:http://blog.chinaunix.net/uid-26611383-id-3678766.html 由于项目需要,需要一个在android平台能够支持RTSP协议的播放器,由于之前没有a ...

随机推荐

  1. MongoDB小结07 - update【$addToSet & $each】

    用$addToSet更新可以避免重复,将它与$each组合起来,可以一次性添加多条(就算后添加的值已存在也没有关系) db.user.update({"name":"co ...

  2. Swift 与 Kotlin 的简单对比

    一位国外的程序员认为 Swift 的语法与 Kotlin 相似,并整理了一些 Swift 和 Kotlin 的对比,下面是一些例子,大家不妨也看看. BASICS Hello World Swift ...

  3. win7系统下重启之后打印机服务就会自动停止的解决方法

    win7系统下重启之后打印机服务就会自动停止的解决方法: 第一步.进入Win7系统后,您需要启动win7系统的任务管理器窗口,然后切换到进程这一栏中,将spoolsv.exe运行进程结束掉.之后,您同 ...

  4. Mac使用技巧之Finder的个人收藏

    当使Finder的时候,左側会列出来个人收藏,能够非常方便的打开对应的文件夹.那么怎样把自己新建的文件夹也增加到个人收藏呢? 1.默认的个人收藏 2.新建名字为my_ios_demo文件夹,拖动这个文 ...

  5. react 项目实战(一)创建项目 及 服务端搭建

    1.安装 React社区提供了众多的脚手架,这里我们使用官方推荐的create-react-app. //安装脚手架 npm install -g create-react-app //生成并运行项目 ...

  6. Angularjs1.x 项目结构

    大部分的项目结构是以 directives , service, controller 为基础来搭建的项目架构的,但这里更偏向于以应用场景来进行项目架构,因此这里的文件夹结构可能与您之前遇到的结构不同 ...

  7. 从Linux内核升级的必要性说开去

    Linux内核更新超级频繁,可是有必要时刻升级吗?个人感觉没有必要,可是你要时刻关注新特性列表,然后把自己的内核升级到离最新版本号差一两个月公布的版本号而不是最新版本号.以保证稳定性,由于一两个月的时 ...

  8. ajax 跨域查看

    var CSRF_HEADER = 'X-CSRF-Token'; var setCSRFToken = function(securityToken) { jQuery.ajaxPrefilter( ...

  9. JspSmartUpload 实现上传

    2.save  作用:将所有上传文件保存到指定文件夹下,并返回保存的文件个数. 原型:public int save(String destPathName)  和public int save(St ...

  10. 图片存储系统TFS

    1 TFS和GFS比较 1.1 GFS的应用场景 第一,百万级别的文件,并且是大文件,文件都是100MB以上,1G级别的文件很常见. 第二,集群是建立在商业计算机之上,并不可靠,监控各个节点的状态,当 ...