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
01按照官方步骤编译NanoPiM1Plus的Android-LMLPHP

55执行reboot efex选中IMG之后格式化刷机QQ图片20171205171011.jpg
01按照官方步骤编译NanoPiM1Plus的Android-LMLPHP

00初始截图360手机助手截图1205_17_13_01.jpg
01按照官方步骤编译NanoPiM1Plus的Android-LMLPHP

01初始截图360手机助手截图1205_17_14_01.jpg
01按照官方步骤编译NanoPiM1Plus的Android-LMLPHP

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

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

03选择Language了360手机助手截图1205_17_17_01.jpg
01按照官方步骤编译NanoPiM1Plus的Android-LMLPHP

04打开语言了360手机助手截图1205_17_18_01.jpg
01按照官方步骤编译NanoPiM1Plus的Android-LMLPHP

05找到中文了360手机助手截图1205_17_18_01.jpg
01按照官方步骤编译NanoPiM1Plus的Android-LMLPHP

06配置中文了360手机助手截图1205_17_18_01.jpg
01按照官方步骤编译NanoPiM1Plus的Android-LMLPHP

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

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

01原始桌面 360手机助手截图1205_14_18_01.jpg
01按照官方步骤编译NanoPiM1Plus的Android-LMLPHP

02应用程序界面360手机助手截图1205_14_20_01.jpg
01按照官方步骤编译NanoPiM1Plus的Android-LMLPHP

02默认打开以太网360手机助手截图1205_14_19_01.jpg
01按照官方步骤编译NanoPiM1Plus的Android-LMLPHP

04打开上网程序360手机助手截图1205_14_20_01.jpg
01按照官方步骤编译NanoPiM1Plus的Android-LMLPHP

05简单输入雅虎360手机助手截图1205_14_21_01.jpg
01按照官方步骤编译NanoPiM1Plus的Android-LMLPHP

06可以上雅虎了360手机助手截图1205_14_22_01.jpg
01按照官方步骤编译NanoPiM1Plus的Android-LMLPHP

07尝试关闭以太网360手机助手截图1205_14_26_01.jpg
01按照官方步骤编译NanoPiM1Plus的Android-LMLPHP

08在Android层关闭以太网360手机助手截图1205_14_26_01.jpg
01按照官方步骤编译NanoPiM1Plus的Android-LMLPHP

09关闭以太网打开WIFI了360手机助手截图1205_14_28_01.jpg
01按照官方步骤编译NanoPiM1Plus的Android-LMLPHP

10显示密码并输入密码之后点连接360手机助手截图1205_14_29_01.jpg
01按照官方步骤编译NanoPiM1Plus的Android-LMLPHP

11WIFI已经连接了360手机助手截图1205_14_30_01.jpg
01按照官方步骤编译NanoPiM1Plus的Android-LMLPHP

12使用WIFI上网页了360手机助手截图1205_14_37_01.jpg
01按照官方步骤编译NanoPiM1Plus的Android-LMLPHP

13打开蓝牙了360手机助手截图1205_14_40_01.jpg
01按照官方步骤编译NanoPiM1Plus的Android-LMLPHP

14让其它设备可以检测到360手机助手截图1205_14_41_01.jpg
01按照官方步骤编译NanoPiM1Plus的Android-LMLPHP

15配置BT的检测超时设置360手机助手截图1205_14_42_01.jpg
01按照官方步骤编译NanoPiM1Plus的Android-LMLPHP

16配置BT的检测超时设置360手机助手截图1205_14_43_01.jpg
01按照官方步骤编译NanoPiM1Plus的Android-LMLPHP

17设置BT永不超时360手机助手截图1205_14_44_01.jpg
01按照官方步骤编译NanoPiM1Plus的Android-LMLPHP

(由于SDK中只做好了蓝牙的发送程序,蓝牙接收的时候竟然不弹出窗口,好奇葩呀!)
18蓝牙配对请求360手机助手截图1205_14_45_01.jpg
01按照官方步骤编译NanoPiM1Plus的Android-LMLPHP

88关于设备360手机助手截图1205_18_45_01.jpg
01按照官方步骤编译NanoPiM1Plus的Android-LMLPHP

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

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

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

05-20 05:47