(二)Yocto编译前的准备

一、主机环境

       Ubuntu 16.04 64位,Windows主机上的VMware14虚拟机。

       目标板:ZC702 

二、下载安装Yocto

1、虚拟机基本条件

  • 最少 4-6 GB 内存
  • 最新版的 Ubuntu 系统(本文使用了 16.04 LTS)
  • 磁盘剩余空间至少 60-80 GB

2、安装Yocto所需依赖

执行如下命令:  

apt-get install wget git-core unzip make gcc g++ build-essential subversion sed autoconf automake texi2html texinfo coreutils diffstat python-pysqlite2 docbook-utils libsdl1.2-dev libxml-parser-perl libgl1-mesa-dev libglu1-mesa-dev xsltproc desktop-file-utils chrpath groff libtool xterm gawk fop

3、下载安装Poky(note:切换到个人用户下执行,否则需要各种改权限,很麻烦!!!)

执行如下命令:

git clone -b morty git://git.yoctoproject.org/poky.git

4、下载完成之后在Poky文件夹目录下由如下内容:

下面我们来简单说以下这些目录里面都是些什么东西。

三、Poky目录结构介绍

1、Bitbake目录:

此目录包含BitBake的副本,以方便使用。该副本通常与BitBake项目中当前稳定的BitBake版本匹配。BitBake是一种元数据(Metadata)解释器,它读取Yocto项目元数据并运行由该数据定义的任务。失败通常来自元数据,而不是来自BitBake本身。因此,大多数用户不需要担心BitBake。

运行该bitbake命令时,将bitbake/bin/启动驻留在目录中的主BitBake可执行文件 。获取环境设置脚本(即 oe-init-build-env)将scripts和 bitbake/bin目录(按此顺序)放入shell的PATH环境变量中。执行bitbake其实就是执行bitbake/bin下的东西。

2、build目录

 此目录是构建输出目录,输出的内核镜像、根文件系统等通过bitbake编译出来的东西都会在次目录下,此目录在下载完poky之后刚开始是没有的,在编译之前需要初始化环境变量(即 source oe-init-build-env),如果不指定输出目录,则系统会自动生成一个build目录,在 系统默认生成的目录下会有conf配置目录,在conf/local.conf中配置机型信息,在conf/bblayers.conf中写入编译所需要的层的路径,这些内容在上一篇博客中有所介绍,就不多说了。

3、documentation目录

此目录包含Yocto项目文档的源代码以及手册的PDF和HTML版本的模板和工具。每个手册都包含在子文件夹中。

4、meta目录

该目录包含OpenEmbedded-Core元数据。该目录包含模拟目标(qemux86, qemuarm等等)的配方,公共类和机器配置。

5、meta-poky目录

 poky发行版本的配置数据(这个具体是些什么内容,手册上还没翻到,之后再补充吧)。比如:构建系统使用模板配置文件,默认情况下,在meta-poky/conf

6、meta-yocto-bsp目录

yocto工程包含的一些参考的BSP配置,通常厂商自己会增加自己的bsp目录(比如meta-xilinx)。

7、meta-selftest目录

 OE自测的recipes和append 文件,此目录添加其他配方并附加OpenEmbedded selftests使用的文件,以验证构建系统的行为。

bblayers.conf除非要运行自我测试,否则 不必将此图层添加到 文件中。

8、meta-skeleton目录

该目录包含BSP和内核开发的模板配方。

9、scripts目录

脚本文件,用来提供一些特性的功能。该路径会被添加到环境变量中。

10、oe-init-build-env

此脚本设置OpenEmbedded构建环境。source使用shell中的命令运行此脚本会PATH根据当前工作目录更改并设置其他核心BitBake变量。需要在运行BitBake命令之前运行环境设置脚本。该脚本使用scripts目录中的其他脚本 来完成大部分工作。

运行此脚本时,将设置Yocto Project环境, 创建输出目录,工作目录将成为Build Directory,并显示常见BitBake目标列表。比如这样

该脚本从conf-notes.txt文件中获取其默认的公共目标列表,meta-poky。如果有自定义poky,则可以修改此配置文件以包含自己的分发目标。详细信息,可以参阅Yocto项目开发任务手册中的“ 创建自定义模板配置目录 ”部分。

默认情况下,在没有BuildDirectory参数的情况下运行此脚本会build在当前工作目录中创建该目录。如果source在脚本时提供Build Directory参数 ,则指示OpenEmbedded构建系统创建您选择的构建目录。例如,以下命令创建一个名为mybuilds“ 源目录”之外的 构建目录:

<span style="color:#333333">     $ source oe-init-build-env~ / mybuilds
            </span>

OpenEmbedded构建系统使用模板配置文件,默认情况下,这些 meta-poky/conf文件位于源目录中的目录中。

四、下载目标板的BSP

在如下地址可以下载到:http://git.yoctoproject.org/cgit/cgit.cgi/

此处我们用到-meta-xilinx,所以我们找到它的下载地址,然后切换到poky目录下执行如下命令:

git clone https : / / github .com / Xilinx / meta - xilinx .git

五、配置(简易发行版基础配置)

1、切换分支(十分重要!!!

cd poky

git checkout morty

确保meta-Xilinx也要和主目录同一分支

cd meta-xilinx

git checkout morty

2、环境初始化

返回poky目录,首先执行    source oe-init-build-env  命令初始化bitbake的环境,并且生成构建输出目录,下一步就是根据自己的需求修改输出目录中conf中的配置文件。

3、在构建输出目录中修改配置文件(poky/build/conf/)

自动进入〜 / poky / build目录。 告诉bitbake关于新的meta-xilinx层:

将meta-xilinx路径加到bblayer.conf中

屏蔽默认的机型,将以下行添加到conf / local.conf文件中:

MACHINE ?? = "zc702-zynq7"

六、执行编译

执行如下命令行开始编译:

bitbake core-image-minimal

此处第一次编译需要等待几个小时,因为会自动下载安装一些必备的软件包,有时会出现网络连接中断退出的情况,不用担心,再次执行同样的命令,它会接着之前下载的继续下载。

  • 0
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值