yocto 离线编译
使用yocto编译一个软件包时,一般会先在本地寻找下载好的源码包,如果不存在则根据配置从网络下载。
添加本地源码包
为了支持离线编译,添加一个包的配置文件后,需要在本地也准备好源码包。
可以先打开网络连接,让yocto帮我们下载好所需的源码包。最终连同源码包一起提交到本地仓库中,后续即不再需要网络连接。
打开网络的方式:
在
 build/conf/local.conf
配置文件中,修改
 BB_NO_NETWORK = "0"
添加好bb文件,进行一次编译,或者,单独执行fetch进行下载,如
 bitbake android-tools -c fetch
指定commit id
如果已经在本地添加了源码包,但每次编译,yocto还是提示需要网络的话,则可能是未配置具体的commit id。
一个例子如下,报错信息
ERROR: android-tools-5.1.1.r37-r0 do_fetch: Network access disabled through BB_NO_NETWORK (or set indirectly due to use of BB_FETCH_PREMIRRORONLY) but access requested with command git -c core.fsyncobjectfiles=0 ls-remote https://android.googlesource.com/platform/system/core  (for url https://android.googlesource.com/platform/system/core)
ERROR: android-tools-5.1.1.r37-r0 do_fetch: Function failed: base_do_fetch
搜索可找到如下参考资料
https://lists.yoctoproject.org/pipermail/yocto/2012-September/009586.html
https://wiki.yoctoproject.org/wiki/How_do_I#Non-networked_Builds_and_Cached_Git_Respositories
大概的意思是,如果没有指定具体的commit id,则yocto每次还是需要到远程仓库去获取一下信息。
最终解决方式,即为添加SRC_REV指定具体的commit id。具体到android-tools这个包,官方已有patch解决。
https://github.com/openembedded/meta-openembedded/commit/aeca0185a6190f73f3c12e63f55c208ba3d16f6e
如果poky仓库已经锁定到某个版本。则需要自行在其他layer中,创建bbappend文件,在其中配置SRC_REV来解决这个问题。
yocto 离线编译的更多相关文章
- 内网服务器离线编译安装mysql5.7并调优
		
目录 内网服务器离线编译安装mysql5.7并调优 前言 关于MySQL 一.MySQL安装篇 部署环境 前期准备工具 挂载系统ISO镜像,配置yum源 二.MySQL调优篇 1.对MySQL进行安全 ...
 - CENTOS 6.5 平台离线编译安装 PHP5.6.6
		
一.下载php源码包 http://cn2.php.net/get/php-5.6.6.tar.gz/from/this/mirror 二.编译 编译之前可能会缺少一些必要的依赖包,加载一个本地yum ...
 - CENTOS 6.5 平台离线编译安装 Mysql5.6.22
		
一.下载源码包 http://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.22.tar.gz 二.准备工作 卸载之前本机自带的MYSQL 安装 cmake,编 ...
 - yocto 项目编译
		
1. 编译整个项目 构建编译环境: ~/fsl_6dl_release$ MACHINE=imx6dlsabresd source fsl-setup-release.sh -b build-wayl ...
 - suse 12 sp3 利用shell脚本离线编译安装ansible
		
# 测试环境是suse 12 sp3的系统,机器都是内网使用的,安装ansible真的很难顶 # 测试环境使用的python版本:2.7.13-27 # 此脚本只在本人测试环境成功,其他环境,需要选择 ...
 - zabbix4.0离线快速编译安装(编译安装方法)
		
本博客已整理更新至第二版.更新与2019.4.17 其实这个主要是想试一下离线编译安装的具体步骤,记得要配置好本地yum云,因为我们需要使用yum,yum能帮我们自动解决很多依赖问题.发现最主要的问题 ...
 - rockchip的yocto编译环境搭建
		
作者:良知犹存 转载授权以及围观:欢迎添加微信公众号:Conscience_Remains 总述 嵌入式的朋友们,应该知道Linux驱动开发过程中,需要进行搭建交叉编译工具链环境.移植u-boot ...
 - android studio 编译加速
		
1. http://www.52codes.net/article/658.html 2.http://my.oschina.net/sammy1990/blog/388846 3.http://st ...
 - CentOS 6.5 Maven 编译 Apache Tez 0.8.3 踩坑/报错解决记录
		
最近准备学习使用Tez,因此从官网下载了最新的Tez 0.8.3源码,按照安装教程编译使用.平时使用的集群环境是离线的,本打算这一次也进行离线编译,无奈一编译就开始报缺少jar包的错,即使手动下载ja ...
 
随机推荐
- 第61天:json遍历和封装运动框架(多个属性)
			
一.json 遍历 for in 关键字 for ( 变量 in 对象) { 执行语句; } 例如: var json = {width:200,height:300,left:50}co ...
 - POJ 2785 4 Values whose Sum is 0(折半枚举)
			
给出四个长度为n的数列a,b,c,d,求从这四个数列中每个选取一个元素后的和为0的方法数.n<=4000,abs(val)<=2^28. 考虑直接暴力,复杂度O(n^4).显然超时. # ...
 - CSS3 transform rotate(旋转)锯齿/元素抖动模糊的解决办法
			
使用CSS3 3D transforms,通过GPU来渲染,能有效的起到抗锯齿效果.只要在CSS3 transform属性中加入translateZ(0).例:-webkit-transform: r ...
 - UVALive.3708 Graveyard (思维题)
			
UVALive.3708 Graveyard (思维题) 题意分析 这标题真悲伤,墓地. 在周长为1e4的圆周上等距分布着n个雕塑,现在要加入进来m个雕塑,最终还要使得这n+m个雕塑等距,那么原来的n ...
 - MyEclipse安装FreeMarker插件
			
MyEclipce8.6中安装FreeMarker插件,这绝对是最简单的方法. 步骤如下: (一)打开http://sourceforge.net/projects/freemarker- ...
 - Codeforces Round #340 (Div. 2)B
			
B. Chocolate time limit per test 1 second memory limit per test 256 megabytes input standard input o ...
 - Rsync+inotify自动同步数据
			
一.简介 随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务系统中也逐渐暴露出了很多不足. 首先,rsync在同步数据时,需要扫描所有文件后进行比对,进行差量传 ...
 - 痛苦之旅——安装Eric4
			
因为想做桌面程序,所以在学PyQt4, 顺便装了下Eric4,这Eric4装起来可不简单,活活花了一个星期..... 网上有很多装Eric4的教程,详细我就不说了,大概步骤是: 1.安装SIP (需要 ...
 - 牛客多校第五场-D-inv
			
链接:https://www.nowcoder.com/acm/contest/143/D来源:牛客网 题目描述 Kanade has an even number n and a permutati ...
 - HDU2031 进制转换
			
#include <iostream> #include "string" #include "cstdio" #include "cst ...