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的低版本并不能很 ...
随机推荐
- [SCOI2005]骑士精神
题目描述 输入输出格式 输入格式: 第一行有一个正整数T(T<=10),表示一共有N组数据.接下来有T个5×5的矩阵,0表示白色骑士,1表示黑色骑士,*表示空位.两组数据之间没有空行. 输出格式 ...
- [SDOI2009]虔诚的墓主人
题目描述 小W是一片新造公墓的管理人.公墓可以看成一块N×M的矩形,矩形的每个格点,要么种着一棵常青树,要么是一块还没有归属的墓地. 当地的居民都是非常虔诚的基督徒,他们愿意提前为自己找一块合适墓地. ...
- [SDOI2010]地精部落
题目描述 传说很久以前,大地上居住着一种神秘的生物:地精. 地精喜欢住在连绵不绝的山脉中.具体地说,一座长度为N的山脉H可分为从左到右的N段,每段有一个[b][u]独一无二[/u][/b]的高度Hi, ...
- Codeforces Round #452 F. Letters Removing
Description Petya has a string of length n consisting of small and large English letters and digits. ...
- poj 1704 Georgia and Bob(阶梯博弈)
Georgia and Bob Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 9363 Accepted: 3055 D ...
- poj3270 && poj 1026(置换问题)
| 1 2 3 4 5 6 | | 3 6 5 1 4 2 | 在一个置换下,x1->x2,x2->x3,...,xn->x1, 每一个置换都可以唯一的分解为若干个不交的循环 如上面 ...
- bzoj4946 Noi2017 蔬菜
题目描述 小 N 是蔬菜仓库的管理员,负责设计蔬菜的销售方案. 在蔬菜仓库中,共存放有nn 种蔬菜,小NN 需要根据不同蔬菜的特性,综合考虑各方面因素,设计合理的销售方案,以获得最多的收益. 在计算销 ...
- [bzoj4820][Sdoi2017]硬币游戏
来自FallDream的博客,未经允许,请勿转载,谢谢. 周末同学们非常无聊,有人提议,咱们扔硬币玩吧,谁扔的硬币正面次数多谁胜利.大家纷纷觉得这个游戏非常符合同学们的特色,但只是扔硬币实在是太单调了 ...
- [BZOJ]1042 硬币购物(HAOI2008)
失踪OJ回归. 小C通过这道题mark一下容斥一类的问题. Description 硬币购物一共有4种硬币.面值分别为c1,c2,c3,c4.某人去商店买东西,去了tot次.每次带di枚ci硬币,买s ...
- bzoj1934
1934: [Shoi2007]Vote 善意的投票 Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 2406 Solved: 1498[Submit][ ...