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的低版本并不能很 ...
随机推荐
- [Codeforces 863A]Quasi-palindrome
Description Let quasi-palindromic number be such number that adding some leading zeros (possible non ...
- hy 的惩罚
[问题描述] hy 抄题解又被老师抓住了,现在老师把他叫到了办公室. 老师要 hy 和他 玩一个游戏.如果 hy 输了,老师就要把他开除信息组: 游戏分为 k 轮.在游戏开始之前,老师会将 n 个由 ...
- TopCoder SRM 559 Div 1 - Problem 900 CircusTents
传送门:https://284914869.github.io/AEoj/559.html 题目简述: n个实心圆,两两没有交集,在第一个圆上找一个点,使得它到另外一个圆上某个点的最短距离的最小值尽量 ...
- ●BZOJ 3143 [Hnoi2013]游走
题链: http://www.lydsy.com/JudgeOnline/problem.php?id=3143题解: 期望dp,高斯消元 首先有这样一种贪心分配边的编号的方案:(然后我没想到,233 ...
- UVALive - 3882:And Then There Was One
约瑟夫环 f[i]表示有i个人先处理第k个人,最后被处理的人是谁 #include<cstdio> #include<cstdlib> #include<algorith ...
- 【BZOJ1835】【ZJOI2010】基站选址
原题传送门 Description 有N个村庄坐落在一条直线上,第i(i>1)个村庄距离第1个村庄的距离为Di.需要在这些村庄中建立不超过K个通讯基站,在第i个村庄建立基站的费用为Ci.如果在距 ...
- POJ2513 欧拉 + 字典树
POJ 2513 有N根木棒,一根木棒有2头,我们把每头涂色(相同或不同),如果2根木棒有相同颜色的一端就可以连接,颜色全部不同就不能连接,现在给你N根木棒以及它们的颜色,问最后能不能链接成1条链. ...
- bzoj4034[HAOI2015]树上操作 树链剖分+线段树
4034: [HAOI2015]树上操作 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 6163 Solved: 2025[Submit][Stat ...
- 入口开始,解读Vue源码(一)-- 造物创世
Why? 网上现有的Vue源码解析文章一搜一大批,但是为什么我还要去做这样的事情呢?因为觉得纸上得来终觉浅,绝知此事要躬行. 然后平时的项目也主要是Vue,在使用Vue的过程中,也对其一些约定产生了一 ...
- Mybatis Generator 代码生成配置
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration ...