【A40i-Android7.1】--- A40i 编译流程 和 打包成固件

在这里插入图片描述

  • 一个好的文章能够帮助开发者完成更便捷、更快速的开发。
  • 书山有路勤为径,学海无涯苦作舟。我是秋知叶i、期望每一个阅读了我的文章的开发者都能够有所成长。

开发环境

开发环境:Ubuntu16
开发平台:全志 A40i-Android7.1

A40i-7.1–编译打包固件流程

一、编译U-boot

1、U-boot 目录

cd a40i_android7/lichee/brandy

2、编译 U-boot

./build.sh -p sun8iw11p1

3、编译报错

Makefile:1218: *** missing separator.  Stop.

4、解决方法

diff --git a/lichee/brandy/u-boot-2014.07/Makefile b/lichee/brandy/u-boot-2014.07/Makefile
index 21d8b03..6575687 100755
--- a/lichee/brandy/u-boot-2014.07/Makefile
+++ b/lichee/brandy/u-boot-2014.07/Makefile
@@ -1214,8 +1214,7 @@ tpl/u-boot-tpl.bin: tools prepare
 TAG_SUBDIRS := $(u-boot-dirs) include sunxi_spl

 FIND := find
-FINDFLAGS := -L
--R --c++-kinds=+p --fields=+iaS --extra=+q
+FINDFLAGS := -L -R --c++-kinds=+p --fields=+iaS --extra=+q
 tags ctags:
                ctags -w -o ctags `$(FIND) $(FINDFLAGS) $(TAG_SUBDIRS) \
                                                -name '*.[chS]' -print`

二、编译Kenrle

1、Kernel 目录

cd a40i_android7/lichee

2、赋予编译脚本权限

chmod 777 build.sh

3、选择编译型号

./build.sh config

配置:

Welcome to mkscript setup progress
All available chips:
   0. sun8iw11p1
Choice: 0
All available platforms:
   0. android
   1. androidm
   2. dragonboard
   3. linux
   4. camdroid
Choice: 1
All available kernel:
   0. linux-3.10
Choice: 0
All available boards:
   0. a40-p1
   1. t3-mp1
   2. t3-mp3
   3. t3-p1
   4. t3-p2
   5. t3-p3
Choice: 0

4、编译 Kernel

./build.sh

三、编译Android

1、Android 目录

cd android

2、选择编译型号

source build/envsetup.sh

/*选择24*/
lunch a40-p1             

3、拷贝 lichee 编译的结果

extract-bsp

4、编译 Android

-j64 表示开启64条线程编译

make -j64

四、打包固件

1、打包成固件

pack

五、特别说明

1、extract-bsp 拷贝报错

①、如果 ./build.sh config 选择了 android 那么在执行 extract-bsp 就会出现下面的错误
cp: cannot stat '/home/qiuwenxiong/allwinner/A40i-Android7.1/android7.1_v3/android/../lichee/out/sun8iw11p1/androidm/common/bImage': No such file or directory
/home/qiuwenxiong/allwinner/A40i-Android7.1/android7.1_v3/android/device/softwinner/a40-p1/bImage copied!
cp: cannot stat '/home/qiuwenxiong/allwinner/A40i-Android7.1/android7.1_v3/android/../lichee/out/sun8iw11p1/androidm/common/lib/modules/*/*': No such file or directory
/home/qiuwenxiong/allwinner/A40i-Android7.1/android7.1_v3/android/device/softwinner/a40-p1/modules copied!
chmod: cannot access 'modules/modules/*': No such file or directory
②、解决方法
diff --git a/device/softwinner/common/vendorsetup.sh b/device/softwinner/common/vendorsetup.sh
index a3be43d..b825fce 100644
--- a/device/softwinner/common/vendorsetup.sh
+++ b/device/softwinner/common/vendorsetup.sh
@@ -65,7 +65,7 @@ function get_lichee_out_dir()
         LINUXOUT_DIR=$LICHEE_DIR/out/sun8iw11p1/androidm/common
     fi
     if [ "$TARGET_BOARD_PLATFORM" == "a40" ]; then
-        LINUXOUT_DIR=$LICHEE_DIR/out/sun8iw11p1/androidm/common
+        LINUXOUT_DIR=$LICHEE_DIR/out/sun8iw11p1/android/common
     fi
     LINUXOUT_MODULE_DIR=$LINUXOUT_DIR/lib/modules/*/*
 }

2、 pack 打包固件报错

①、如果 ./build.sh config 选择了 android 那么在执行 pack 就会出现下面的错误
ERROR: build lichee before you pack
②、解决方法
diff --git a/device/softwinner/a40-p1/package.sh b/device/softwinner/a40-p1/package.sh
index 6ad9395..60c8c34 100644
--- a/device/softwinner/a40-p1/package.sh
+++ b/device/softwinner/a40-p1/package.sh
@@ -3,7 +3,7 @@
 cd $PACKAGE

 chip=sun8iw11p1
-platform=androidm
+platform=android
 board=a40-p1
 debug=uart0
 sigmode=none
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋知叶i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值