【无标题】

4 篇文章 0 订阅

yocto离线编译

1.yocto工程的搭建
2.downloads加载
3.编译命令
4.bb脚本修改

yocto工程的搭建

离线编译的前提是已经有可用的yocto工程,在无法连接网络的电脑上借助已经搭建好的yocto工程 离线搭建新的yocto工程
在使用网络搭建yocto是一般的步骤是
1.安装必要的包
$ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential
chrpath socat libsdl1.2-dev
$ sudo apt-get install libsdl1.2-dev xterm sed cvs subversion coreutils texi2html docbook-utils
python-pysqlite2 help2man make gcc g++ desktop-file-utils libgl1-mesa-dev libglu1-mesa-dev
mercurial autoconf automake groff curl lzop asciidoc
2.创建repo
$ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > /opt/yocto/bin/repo
$ chmod a+x /opt/yocto/bin/repo
3.repo同步
$ mkdir fsl-release-bsp
$ cd fsl-release-bsp
$ repo init -u git://git.freescale.com/imx/fsl-arm-yocto-bsp.git -b imx-4.1-krogoth
$ repo sync
以上步骤完成后可 $ DISTRO= MACHINE= source fsl-setup-release.sh -b
随后即可 bitbake 编译目标 bitbake会根据目标bb文件中的SRC_URI去 fetch 目标源码 随后会在build的同级目录下创建downloads目录并将fetch到的文件存在该目录中。

因此离线搭建第一步
1.对完成repo后的 fsl-release-bsp目录打包
2.对downloads中的内容打包

解压tar包

对fsl-release-bsp tar包解压 解压后的目录结构如下
在这里插入图片描述
在对downloads tar包解压 解压完成后 需要修改conf文件 在编译的时候 不会从网络上fetch而是从本地的downlos获取源码

修改conf配置

运行以下命令 指定DISTROMACHINE 随后会生成build目录

$ DISTRO=fsl-imx-fb MACHINE=imx6ull14x14evk source imx-setup-release.sh -b build

build目录下的 local.conf文件中进行如下配置,配置完成后不会从网络上fetch而是从本地的downlos获取源码

# 指定downloads路径
DL_DIR ?= "${BSPDIR}/downloads/"   
# 指定SOURCE_MIRROR_URL路径
SOURCE_MIRROR_URL ?= "file://${DL_DIR}/"
#继承已有的mirror
INHERIT += "own-mirrors"
#禁止网络连接 只使用本地的源
BB_NO_NETWORK = "1"

问题

1.bitbake编译时会出现如下错误
在这里插入图片描述
根据显示信息:
nxp-demo-experience_1.0.bb文件依然会从网络上git 但是网络已经关闭 因此该bb文件解析失败
原因:该bb文件时nxp官方文件用于构建nxp的demo 因此会从网络上git最新的版本
解决: 方法1:指定该bb中的版本为downloads中的版本
方法2:删除该bb文件

2.tar.gz包
downloads的tar包很大,很多时候会上传失败(如上传svn)
解决:分开打包成 tar.gz 0 tar.gz 1 tar.gz 2 …
注意解压的时候需要下载所有的tar包后一起解压
cat xxx.tar.gz* >>xxx.tar.gz
tar -zvxf xxx.tar.gz

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值