MTK6765编译环境搭建

  • 开发软件
  • 环境搭建
    • VMware的设置
    • ubuntu的设置
  • 建议安装的工具
  • 编译步骤

开发软件

建议搭建虚拟机,本人开发过程中重装比较频繁
1.VMware-workstation-full-16.1.0-17198959
使用VMware15也可以,不过要注意自身电脑的windows版本,最新版的windows10 可以安装VMware15,但运行虚拟机系统时会蓝屏崩溃。
2.ubuntu-16.04.7-desktop-amd64
需要使用ubuntu16及以上,低于该版本貌似有问题
3.系统文件开发包
本人使用公司同事提供的**.tar包,暂不对外提供,可采用官网的文件

环境搭建

VMware的设置

1.菜单栏–虚拟机–安装vmwaretools,如未更新就进行更新

ubuntu的设置

安装完Ubuntu后如下图所示进行设置
1.内存,建议采用16g或更大,因为编译需要的内存较大,如电脑配置不够建议升内存,目前测试降低内存还未编译成功过,且耗时很长
2.处理器,安装电脑配置进行适当选择即可
3.硬盘,建议预留400g,目前本人已用300+g
4.网络适配器,建议选择桥接模式,可以与外界网络共享ip,便于其他ssh连接进行调试。
5.进入选项栏,开启共享文件夹,该文件夹位于windows下,在windows下也需要打开共享选项,详细请网上查找方案

建议安装的工具

0.进入root

lq@ubuntu:~$ sudo passwd lq
[sudo] password for lq:
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
lq@ubuntu:~$ su
Password:
root@ubuntu:/home/lq#

1.ssh服务

root@ubuntu:/#sudo ps -e |grep ssh
root@ubuntu:/#                             //无信息表示未安装
root@ubuntu:/#sudo apt-get update  //先更新列表
root@ubuntu:/#sudo apt-get install openssh-server //再安装服务
root@ubuntu:/#sudo ps -e |grep ssh  //检查有无安装3933    00:00:00  sshd  //表示安装成功

2.MobaXterm工具–windows
在windows下安装该工具,可以通过ssh连接到linux,且便于对linux下文件进行修改,不安装或采用其他软件也可,根据个人喜好处理

3.mingw32服务

root@ubuntu:/#sudo apt-get install mingw32
Unable to locate package mingw32   //报错
root@ubuntu:/#sudo gedit /etc/apt/sources.list
//在sources.list末尾添加,保存
deb http://us.archive.ubuntu.com/ubuntu trusty main universe
root@ubuntu:/#sudo apt-get update
root@ubuntu:/#sudo apt-get install mingw32

编译步骤

1.新建项目的文件路径,并将工程包释放到该文件夹下

root@ubuntu:/home/lq#mkdir Project
...
root@ubuntu:/home/lq/Project#mkdirMTK6765
...
//在/mnt/hgfs/vmLinuxstore/6765.tar 查找共享文件夹下的文件
//如找不到文件且连hgfs文件夹都没有
//1.查看共享文件夹设置是否ok
//2.查看window下共享文件夹是否共享
//3.新建hgfs和vmLinuxstore文件夹,一般刷新后就可见共享文件
root@ubuntu:/home/lq/Project#cd ..
...
root@ubuntu:/#tar zxvf /mnt/hgfs/vmLinuxstore/6765.tar -C /home/lq/Project/MTK6765

2.进行编译工具的下载

root@ubuntu:/#sudo apt-get update
root@ubuntu:/#sudo apt-get install -y git gcc lib32stdc++6 gnupg flex bison gperf build-essential zip
root@ubuntu:/#sudo apt-get install -y curl libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 g++-multilib mingw32 tofrodos libgl1-mesa-dev python-markdown libxml2-utils xsltproc zlib1g-dev:i386
root@ubuntu:/#sudo apt-get install libswitch-perl libssl-dev libncurses5 libncurses5-dev
root@ubuntu:/#sudo apt-get install libxml-sax-expat-incremental-perl
root@ubuntu:/#sudo cpan install XML::Simple
root@ubuntu:/#sudo add-apt-repository ppa:openjdk-r/ppa
root@ubuntu:/#sudo apt-get update
root@ubuntu:/#sudo apt-get install openjdk-8-jdk

3.开始编译

//进入到MTK6765文件夹下
root@ubuntu:/home/lq/Project/MTK6765# source build/envsetup.sh
..
root@ubuntu:/home/lq/Project/MTK6765# lunch
//出现很多硬件类型,本人使用full_k65v1_64_bsp-userdebug
//故选择105号
root@ubuntu:/home/lq/Project/MTK6765# make -j12 2>&1 | tee build.log
//j12代表同时执行12条线程,改大后可以提升编译速度,但是对电脑要求较高,一般选择24
//初次编译可能需要1-12个小时,甚至更长

4.编译报错
1.build/core/ninja.mk:148: recipe for target ‘ninja_wrapper’ failed

在build/envsetup.sh脚本中最后添加
export LC_ALL=C

2.Communication error with Jack server (35)

sudo vi /etc/java-8-openjdk/security/java.security
查找”jdk.tls.disabledAlgorithms=“删除TLSv1, TLSv1.1,如下:
jdk.tls.disabledAlgorithms=SSLv3, RC4, DES, MD5withRSA,./jack-admin kill-server
./jack-admin start-server

3.编译找不到对应的硬件信息

// 需要更新基本的硬件信息
/home/lq/Project/MTK6765/vendor/mediatek/proprietary/bootable/bootloader/preloader/tools/emigen/MT6765/MemoryDeviceList_MT6765.xls

4.ninja failed with: signal: killed

// 出现该问题,基本上为内存不足,根据网上建议,增加交换空间大小较好
free -m   //查看swap分区大小
sudo dd if=/dev/zero of=/var/swap bs=1024 count=2000000 //设定内存为2g
sudo mkswap /home/swap
sudo swapon /home/swap
free -m   //查看修改后的分区大小//如果在原有基础上再次扩展,会报错:
sudo dd if=/dev/zero of=/home/swap bs=1024 count=2048000
dd: failed to open '/home/swap': Text file busy //报错信息
//解决方法:需要先关闭swap,再重新分配,即执行
sudo swapoff -a//实际上,本人编译要求内存较大,仅2g不够用,设定到4g方可编译通过,由此推测后续设备内存可能还得扩大

MTK6765编译环境搭建相关推荐

  1. Runtime编译环境搭建

    Runtime编译环境搭建 首先,需要准备的资源:runtime完整源码,这个可以在苹果开放资源网页找到.点进这个页面,接着点击macOS下面的最新版本,在新页面中command+f搜索objc即可找 ...

  2. esp32 linux内核,【小狂系列】跟着小狂玩ESP32之编译环境搭建篇

    本帖最后由 3guoyangyang7 于 2016-11-3 18:41 编辑 趁热要打铁,昨天发了ESP32的预告贴,今天小狂就带大家刷一刷ESP32的编译环境搭建.怎么说的,ESP32可以在多平 ...

  3. Windows编译环境搭建(VS2010)

    引言:   本篇文章基于教程目的(由于windows和linux相关环境搭建篇幅过大,在博客中做这些讲解),主要描述Windows的发展历程和编译环境搭建(基于 Visual Studio 2010版 ...

  4. spring-framework-5.1.x 源码编译 环境搭建 [ idea:2020.1 ]

    spring-framework-5.1.x 源码编译 环境搭建 [ idea:2020.1 ] 一. Gradle下载与安装 软件名称 版本 下载地址 jdk jdk 11.0.5 下载链接 提取码 ...

  5. python hackrf_HackRF固件更新及编译环境搭建

    1 HackRF Host 软件更新 git pull cd host mkdir build cmake ../ -DINSTALL_UDEV_RULES=ON make sudo make ins ...

  6. 全志JAVA_android 全志a10(2.3.4)开发1(编译环境搭建)

    android 全志a10(2.3.4)开发一(编译环境搭建) android系统编译可分为两部分:一部分是linux内核编译:另一部分是android源码编译:全文中主要是说明从搭建编译环境,安装编 ...

  7. Hi3516DV300编译环境搭建问题及解决

    Hi3516DV300编译环境搭建问题及解决 1.安装完工具链,提示找不到gcc 问题: bash: /opt/hisi-linux/x86-arm/arm-hisiv300-linux/target ...

  8. FMT(基于rtthread)开源代码编译 win10下编译环境搭建及编译

    FMT(基于rtthread)开源代码编译 win10下编译环境搭建及编译 什么是Firmament? Firmament (FMT) 是一款基于模型设计 (Model-Based-Design, M ...

  9. 鸟人的Android揭秘(3)——Android 编译环境搭建

    一.主机环境要求 要顺利编译 Android 源代码,硬件环境和操作系统都必须满足一定的条件.官方推荐的硬件环境配置是: 编译 Gingerbread(2.3.x)及后续版本必须使用64位系统 需至少 ...

最新文章

  1. python2x与3x下使用urlretrieve下载文件
  2. 计算机组装实训室管理制度,计算机组装与维护实训室管理制度.doc
  3. 多少线程太多? [关闭]
  4. XamarinAndroid组件教程设置动画的时长参数
  5. node.js 函数定义和调用
  6. 聊聊flink的Execution Plan Visualization
  7. python创建变量_【转载】 Python动态生成变量
  8. 综合短网址缩短和还原源码
  9. Java每天学习一点点 09.10.13
  10. 【转载】TableLayout表格布局详解
  11. 什么U盘启动盘制作工具是纯净版的,没有捆绑软件和广告的?
  12. java开发面试自我介绍模板_java面试自我介绍范文
  13. IoT全品类全场景来了,但5G时代“大雁群飞”仍需紧盯“服务”
  14. VMware虚拟机下载安装教程
  15. HOOF(Histogram of Oriented Optical Flow)特征
  16. 802.11--802.11a协议
  17. 计算机学院刘岗,中科院金属所刘岗研究员访问城市环境研究所
  18. 微信公众平台可以修改微信号了,微信号怎么设置好。
  19. 但洗铅华不洗愁——写者、编者谈《往事并不如烟》
  20. [boot启动项目调用接口提示“ ] connect error, url jdbc:h2:mem:44xxx 和 No typehandler found for property xxx

热门文章

  1. Unity 3D入门——模型展示
  2. 路由器逆向分析------MIPS系统网络的配置(QEMU)
  3. ubuntu 格式化u盘
  4. 网络中的A类、B类、C类地址的划分
  5. 父亲节|祝天下所有父亲节日快乐,长寿安康!
  6. 神策军丨我的转岗故事:舒适区的逃离与突破
  7. java8日期计算(偏移N周,返回指定星期的日期)
  8. 什么是“一书一签”?
  9. python3打印如何换行_浅谈Python3中print函数的换行
  10. dancing links x(舞蹈链算法)详解