MTK8127源码编译出现的错误及相关解决办法
/**
* date:2016/8/17
* author: Y.X .YANG
*/
按照开发文档提示:
1、MTK提供的开发包目录下有若干个.aa .ab .ac ...的分压缩包。此时应当将这些压缩包并包,使用以下命令:
# cat MT8127_M0_MP8_0407_t8370_emmc.tar.gz* >> MT8127_M0_MP8_0407_t8370_emmc.tar.gz
2、对 MT8127_M0_MP8_0407_t8370_emmc.tar.gz 进行解包。使用以下命令:
# tar -xzvf MT8127_M0_MP8_0407_t8370_emmc.tar.gz
解压完成后在当前目录下会生成一个 MT8127_M0_MP8_0407 的目录,cd 进去后就是MTK的源码工程
3、MTK工程的编译
(1)在当前目录下 终端输入命令:source build/envsetup.sh
(2)lunch有两个版本,分别是eng版本还有Userdebug版本,这里我们选择eng版本进行lunch
lunch的选项选择第20个选项:em-t8370-emmc-eng
# lunch em-t830-emmc-eng
(3)开始编译
# make -j36 2 >&1 | tee build.log
在编译的过程中,通常出错会遇到以下问题,
1、
(1)文档指出,编译的OS至少需要LINUX Ubuntu 14.04这个版本
(2)内存空间要足够大,需要至少100G以上
(3)Java JDK的版本,至少需要 1.7.0_55以上的版本
(4)GNU Make v3.81 or above
注意观察编译调试日志出现的log,分析log可以很容易知道以上出错的原因。
eg:
============================================
Checking build tools versions...
************************************************************
You are attempting to build with the incorrect version
of java.
Your version is: java version "1.6.0_45" Java(TM) SE Runtime Environment (build 1.6.0_45-b06) Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode).
The required version is: "1.7.x"
Please follow the machine setup instructions at
https://source.android.com/source/initializing.html
************************************************************
build/core/main.mk:171: *** stop。 停止。
以上的log信息表示JDK版本信息以及服务器编译环境过低,需要及时更新。
2、如果以上的环境配置都没有问题
编译过程中如果提示某某.bin 文件依赖于 ....文件夹的时候
eg :
make: *** No rule to make target `bootable/bootloader/lk/eng/lk.bin', needed by `out/target/product/em_t8370_emmc/lk.bin'. Stop.
# find . -name lk.bin
./vendor/mediatek/proprietary/bootable/bootloader/lk/eng/lk.bin
./vendor/mediatek/proprietary/bootable/bootloader/lk/user/lk.bin
此时会找到以上这两个同名文件,我们工程是eng版本,所以需要cp ./vendor/mediatek/proprietary/bootable/bootloader/lk/eng/lk.bin
这个文件。
找到对应的lk.bin文件后,拷贝到对应的这两个目录里去,此时发现在MTK源码工程bootable这个目录下没有bootloader/lk/eng/这些文件夹
这时需要在相应的目录下创建:
# mkdir bootable/bootloader/lk/eng/ -p
创建完相关目录后,
拷贝用以下命令,在MTK源码目录下:
# cp ./vendor/mediatek/proprietary/bootable/bootloader/lk/eng/lk.bin bootable/bootloader/lk/eng/
再进行make
如果后续如出现make: *** No rule to make target `xxx.bin', needed by `xxx.bin'. Stop.这样的问题时,使用以上方法解决。
如果没有,工程编译成功需要等待1个小时左右的时间。
3、编译完成后:会在目录/mnt/sdb1/yangyx/MT8127_M0_MP8_0407/out/target/product/em_t8370_emmc产生若干个文件
root@pst-Z97X-UD3H:/mnt/sdb1/yangyx/MT8127_M0_MP8_0407/out/target/product/em_t8370_emmc# ls
android-info.txt EBR1 MBR ramdisk.img_raw root
boot.img EBR2 MT8127_Android_scatter.txt ramdisk-recovery-bthdr.img secro.img
cache gen obj ramdisk-recovery.img symbols
cache.img installed-files.txt ota_scatter.txt recovery system
clean_steps.mk kernel preloader_em_t8370_emmc.bin recovery_bthdr.img system.img
custom_build_verno lk.bin previous_build_config.mk recovery.id tz.img
data logo.bin ramdisk.img recovery.img userdata.img
将编译生成的以下文件拷贝到Window系统下相关目录后用flash_tool.exe工具烧写进开发板,烧写工具文档说明一并上传.。
boot.img cache.img EBR1 EBR2 lk.bin logo.bin MBR MT8127_Android_scatter.txt preloader_em_t8370_emmc.bin
recovery.img secro.img system.img userdata.img
MTK8127源码编译出现的错误及相关解决办法的更多相关文章
- 源码编译安装 PHP5.5.0,解决curl_exec访问HTTPS返回502错误的问题(修改PATH路径)
最近碰到一个奇怪的问题, PHP使用 curl_exec 访问 HTTPS 网页时, 返回502错误, 访问HTTP网页时没有问题, 用 echo phpinfo() ; 查看, 支持op ...
- Spring源码编译一次性通过&遇到的坑解决方法
前言 spring源码本地编译,按网上的博客参考资料的操作步骤,总是会出现各种莫名其妙的错误.根据错误信息找解决方案,但在自己的环境下又总是编译不过去.结合参加培训学习Jack老师提供的方法,自己多种 ...
- chrome源码编译常见的错误解决
最近编译chrome浏览器源码时,下载源码和一般的设置,网络中都有说明,而且一般的说明都是类似的,然后都说编译成功了,但本人没有试成功,碰到常见的2个错误,记录下,不知道大家碰到没有. 1.pytho ...
- android 源码编译中的错误 解决
1.编译种错误提示: arm-none-linux-gnueabi-gcc: directory: No such file or directory arm-none-linux-gnueabi-g ...
- 【转】Android 源码编译make的错误处理--不错
原文网址:http://blog.csdn.net/ithomer/article/details/6977386 Android源码下载:官方下载 或参考android源码下载方式 Android编 ...
- Android源码编译make的错误处理
android源码下载:官方下载 或参考android源码下载方式 Android编译版本: PLATFORM_VERSION=4.0.1(最新Android 4.0.1) OS 操作系统平台: Li ...
- jdk/java版本与Android源码编译中的错误
错误一:javap未指向有效的java版本 Traceback (most recent call last): File "../../base/android/jni_generator ...
- Android 源码编译及常见错误及解决方法
最近要往arm开发板上移植android系统,大大小小的问题遇到了太多太多,都是泪啊.本人初接触嵌入式开发,对问题的根源不是太了解,不过好在每解决一个问题,便记录一下.话不多说,正式罗列问题: hos ...
- 源码编译apache报错的解决方法
源码编译apache报错的解决方法 问题介绍 在源码编译安装httpd时,./configure执行无错误,到make时就报错,在网络上搜索了很多文章,很多方法如换apr-util的低版本并不能很 ...
随机推荐
- [AHOI 2005]COMMON 约数研究
Description Input 只有一行一个整数 N(0 < N < 1000000). Output 只有一行输出,为整数M,即f(1)到f(N)的累加和. Sample Input ...
- 控制公司 Controlling Companies
题目描述 有些公司是其他公司的部分拥有者,因为他们获得了其他公司发行的股票的一部分.(此处略去一句废话)据说,如果至少满足了以下三个条件之一,公司A就可以控制公司B了: 公司A = 公司B. 公司A拥 ...
- Codeforces Round #430 A. Kirill And The Game
Kirill plays a new computer game. He came to the potion store where he can buy any potion. Each poti ...
- bzoj1767[Ceoi2009]harbingers 斜率优化dp
1767: [Ceoi2009]harbingers Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 421 Solved: 112[Submit][S ...
- AR8033 1000M模式下ping包丢包率过大分析与解决
1 现象 近期对一款基于QCA方案.有线Phy为AR8033.WiFi双频且支持iEEE802.11AC的WLAN产品进行了深度验证,发现有线口同部分PC机直连时,WiFi终端ping 该PC机时总是 ...
- springboot由于mysql表类型导致的 setRollbackOnly() 事务不回滚
在SpringBoot 中,使用事务非常简单,只需在方法上面加入 @Transactional 注解就可以实现.也可加在类上,此时则类中所有方法都支持事务. 而当我使用下面代码时,发现事务却没有回滚 ...
- .htaccess rewrite 规则详细说明
rewrite的语法格式: RewriteEngine On #要想rewrite起作用,必须要写上哦 RewriteBase url-path #设定基准目录,例如希望对根目录下的文件rewrtie ...
- Python作业之三次登陆锁定用户
作业之三次登陆锁定用户 作业要求如下: 1. 输入用户名和密码 2. 认证成功提示欢迎信息 3. 认证失败三次锁定用户 具体代码如下: 方法1: import os#导入os模块 if os.path ...
- K-means聚类 的 Python 实现
K-means聚类 的 Python 实现 K-means聚类是一个聚类算法用来将 n 个点分成 k 个集群. 算法有3步: 1.初始化– K 个初始质心会被随机生成 2.分配 – K 集群通过关联到 ...
- 用ECMAScript4 ( ActionScript3) 实现Unity的热更新 -- 使用第三方组件
Unity开发中,常常会用到一些第三方组件.本文以实例介绍如何在热更新脚本中使用这些第三方组件. 首先说明几个基本步骤: 第三方组件通常是以dll或者源码方式提供的,它们本身往往无法热更. 我们在脚本 ...