当前位置:网站首页>MTK6765编译环境搭建
MTK6765编译环境搭建
2022-07-27 12:48:00 【乔*十二】
开发软件
建议搭建虚拟机,本人开发过程中重装比较频繁
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
[email protected]:~$ sudo passwd lq
[sudo] password for lq:
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
[email protected]:~$ su
Password:
[email protected]:/home/lq#
1.ssh服务
[email protected]:/#sudo ps -e |grep ssh
[email protected]:/# //无信息表示未安装
[email protected]:/#sudo apt-get update //先更新列表
[email protected]:/#sudo apt-get install openssh-server //再安装服务
[email protected]:/#sudo ps -e |grep ssh //检查有无安装
3933 00:00:00 sshd //表示安装成功
2.MobaXterm工具–windows
在windows下安装该工具,可以通过ssh连接到linux,且便于对linux下文件进行修改,不安装或采用其他软件也可,根据个人喜好处理
3.mingw32服务
[email protected]:/#sudo apt-get install mingw32
Unable to locate package mingw32 //报错
[email protected]:/#sudo gedit /etc/apt/sources.list
//在sources.list末尾添加,保存
deb http://us.archive.ubuntu.com/ubuntu trusty main universe
[email protected]:/#sudo apt-get update
[email protected]:/#sudo apt-get install mingw32
编译步骤
1.新建项目的文件路径,并将工程包释放到该文件夹下
[email protected]:/home/lq#mkdir Project
...
[email protected]:/home/lq/Project#mkdirMTK6765
...
//在/mnt/hgfs/vmLinuxstore/6765.tar 查找共享文件夹下的文件
//如找不到文件且连hgfs文件夹都没有
//1.查看共享文件夹设置是否ok
//2.查看window下共享文件夹是否共享
//3.新建hgfs和vmLinuxstore文件夹,一般刷新后就可见共享文件
[email protected]:/home/lq/Project#cd ..
...
[email protected]:/#tar zxvf /mnt/hgfs/vmLinuxstore/6765.tar -C /home/lq/Project/MTK6765
2.进行编译工具的下载
[email protected]:/#sudo apt-get update
[email protected]:/#sudo apt-get install -y git gcc lib32stdc++6 gnupg flex bison gperf build-essential zip
[email protected]:/#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
[email protected]:/#sudo apt-get install libswitch-perl libssl-dev libncurses5 libncurses5-dev
[email protected]:/#sudo apt-get install libxml-sax-expat-incremental-perl
[email protected]:/#sudo cpan install XML::Simple
[email protected]:/#sudo add-apt-repository ppa:openjdk-r/ppa
[email protected]:/#sudo apt-get update
[email protected]:/#sudo apt-get install openjdk-8-jdk
3.开始编译
//进入到MTK6765文件夹下
[email protected]:/home/lq/Project/MTK6765# source build/envsetup.sh
..
[email protected]:/home/lq/Project/MTK6765# lunch
//出现很多硬件类型,本人使用full_k65v1_64_bsp-userdebug
//故选择105号
[email protected]:/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方可编译通过,由此推测后续设备内存可能还得扩大
边栏推荐
- CEPH distributed storage performance tuning (6)
- Plus版SBOM:流水线物料清单PBOM
- How to ask questions on the road for the first time - necessary skills for self-study (with live playback)
- Error: slf4j: class path contains multiple slf4j bindings
- 正向预查和反向预查
- 图标字体
- 18. Text processing tool -grep
- POJ2446 Chessboard【二分图最大匹配】
- 爱可可AI前沿推介(7.27)
- Delay queue performance test
猜你喜欢

Specify the add method of HashSet

What should I do if I can't see any tiles on SAP Fiori launchpad?

MySQL extensions

Jesd204b debugging notes (practical version)

Minimally invasive brain science broke the listing: the company's market value is HK $14.3 billion, and minimally invasive medical is the major shareholder

@Simple use of conditional

Set interface

500强企业如何提升研发效能?来看看行业专家怎么说!

How to ask questions on the road for the first time - necessary skills for self-study (with live playback)

文章复现:SRCNN
随机推荐
Firefox 103 发布,更快、更安全
相对定位
Xshell7 can log in to MySQL virtual machine, but not mysql
「游戏引擎 浅入浅出」4.1 Unity Shader和OpenGL Shader
v-show
最新版泛域名证书申请
AMD Adrenalin 22.7.1 驱动更新:OpenGL 性能翻倍,支持微软 Win11 22H2 系统
@Simple use of conditional
clearfix的作用
[Nuxt 3] (十二) 项目目录结构 2
[node+ts] build node+typescript project
Do you really understand CMS garbage collector?
The sparksubmit. Main () method submits external parameters and remotely submits the standalone cluster task
Eccv2022 | Ru & Google proposed to use clip for zero shot target detection!
Poj1273 drainage ditches [maximum flow] [SAP]
Nodejs body parser middleware processes post form data of type multipart / form data, and req.body cannot receive data
Gartner 权威预测未来4年网络安全的8大发展趋势
Gan: generate adversarial networks
程序员培训学习后好找工作吗
Flinksql synchronizes data from Oracle to Doris, with a total of more than 50 fields and more than 30 million entries in Oracle tables