【yocto】

news/2024/11/16 22:55:22/

yocto

    • yocto目录
    • 下载yocto的poky项目
      • 介绍
      • 使用
      • Bitbake编译
      • 编译步骤
      • 开始编译
      • 安装python

2020-8-1

yocto目录

imx-yocto|__downloads|__build|   |__cache|   |__conf|   |   |__bblayers.conf|   |   |__local.conf |   |__tmp|       |__work|       |__deploy|           |__images|||__sources |__base|__meta-freescale-3rdparty|   |__classes|   |   |__image_types_digi.bbclass|   |   |   |__conf|   |   |__layer.conf|   |   |__machine|   |       |__cm-fx6.conf|   |__recipes-kernel|   |   |__linux|   |   |   |__linux-advantech_4.9.bb|   |   |__kernel-modules|   ||   |__recipes-basp||__meta-imx|__meta-openembedded|__poky|__bitbake//bitbake源码|__meta-yocto-bsp|__meta

下载yocto的poky项目

$ git clone git://git.yoctoproject.org/poky
$ cd poky
$ git fetch --tags

git checkout -t origin/gatesgarth -b my-gatesgarth

cd poky

介绍

Yocto是这个开源项目的名称,该项目旨在帮助我们自定义Linux系统。
Poky有两个含义。第一个含义是用来构建Linux的构建系统,值得注意的该Poky仅仅是一个概念,而非一个实体。Poky包含了 BitBake工具、编译工具链、BSP、诸多程序包或层,可以认为Poky即是Yocto的本质;此外Poky还有另外一层意思,使用Poky系统得到的默认参考 Linux 发行版也叫Poky(当然,我们可以对此发行版随意命名)。

Metadata:元数据集,所谓元数据集就是发行版内各基本元素的描述与来源;
Recipes:.bb/.bbappend文件,配方文件,描述了从哪获取软件源码,如何配置,如何编译。
bbappend和bb的区别主要在于bbappend是基于bb的,功能是对相应的bb文件作补充和覆盖,有点类似于“重写”的概念。
Class:.bbclass文件
Configuration:.conf文件,即配置文件,我们可以用它来改变构建方式
Layers:即各种meta-xxx目录,将Metadata按层进行分类,有助于项目的维护
Bitbake:一个任务执行引擎,用来解析并执行Metadata
Output:即各种输出image

整个yocto的使用过程可以这么来概括:yocto本身有我们需要image构建的网址链接(即参考配方),在编译过程中,我们根据需求选择配置选项,(也可以更改内部的.bb文件,根据自己的需求选择配置包)yocto根据这些选项使用bitbake执行引擎从网络上根据实际需要的功能选择部分网址链接获得实际的metadata,最后生成包含linux源码和UBoot源码文件。

使用

使能编译环境

$ source oe-init-build-env

首次使能编译环境时,会创建build目录,后面编译输出都放在build目录,

编译限制线程的数量
在…/yocto/build/conf/include/common.conf配置文件中增加:

BB_NUMBER_THREADS = ‘16’ 
PARALLEL_MAKE =’-j 16

Bitbake编译

编译步骤

1.sudo su
2. cd …/yocto
3. source oe-init-build-env (进入build目录)
4. bitbake +,bitbake具体命令如下:直接编译文件系统:
bitbake core-image-minimal重新编译u-boot:
bitbake -c compile -f u-boot(-v)只下载不编译:
bitbake -c fetchall core-image-minimal下载特定的包:
bitbake packagename -c fetch查看软件依赖关系:
bitbake –g packagename

开始编译

build]$ bitbake core-image-sato
Loading cache: 100% |                                                                            | ETA:  --:--:--
Loaded 0 entries from dependency cache.
Parsing recipes: 100% |###########################################################################| Time: 0:00:11
Parsing of 821 .bb files complete (0 cached, 821 parsed). 1395 targets, 42 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependenciesBuild Configuration:
BB_VERSION           = "1.48.0"
BUILD_SYS            = "x86_64-linux"
NATIVELSBSTRING      = "ubuntu-16.04"
TARGET_SYS           = "x86_64-poky-linux"
MACHINE              = "qemux86-64"
DISTRO               = "mydistro"
DISTRO_VERSION       = "3.2.2"
TUNE_FEATURES        = "m64 core2"
TARGET_FPU           = ""
meta                 
meta-poky            
meta-yocto-bsp       Initialising tasks: 100% |########################################################################| Time: 0:00:07
Sstate summary: Wanted 1975 Found 328 Missed 1647 Current 0 (16% match, 0% complete)
NOTE: Executing Tasks

安装python

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python3.6

将python版本切换到3.6

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 3

感谢阅读,祝君成功!
-by aiziyou


http://www.ppmy.cn/news/364519.html

相关文章

steam搬砖全套操作流程之如何卖货(第③课)

上一篇文章阿阳分享了Steam项目如何选品,今天就给大家说说装备如何发货等重要事项。 本节课主要为大家讲解:定价规则,加价原则,认识装备磨损度和印花,自动发货软件和自动上架软件的讲解。 (Steam装备选品…

Toy Train

D1. Toy Train (Simplified) https://codeforces.com/contest/1130/problem/D1 D2. Toy Train https://codeforces.com/contest/1130/problem/D2 题解&#xff1a; /* *Author: STZG *Language: C */ #include <bits/stdc.h> #include<iostream> #include&l…

Torch

torch的安装 torch的版本与python的版本是挂钩的&#xff0c;python低版本安装不了高版本的torch&#xff08;亲测&#xff09;。 python 3.6版本出问题 在下面的网站中找到 https://pytorch.org/ python版本将对应torch的版本 https://www.cnblogs.com/tingtin/p/13601104.h…

Power Toys!!!

Power Toys!!! PowerToys是微软最初发布于Windows 95平台的系统增强工具&#xff0c;直至2002年比尔盖茨调整研发重心&#xff0c;提升系统安全性&#xff0c;PowerToys 这一项目在当时因为Bug 多&#xff0c;功能不稳定&#xff0c;测试不严格&#xff0c;在安全审查中未能幸免…

toybox

toybox 作者&#xff1a;Rob Landley 特性&#xff1a;简单、小巧、快速且功能齐全 http://www.musl-libc.org/ http://landley.net/toybox/downloads/toybox-0.8.0.tar.gz toybox上前Android 的命令行。 Toybox 项目开始于2006 年, Toybox 每季度发布一次 Toybox 获得BSD许可&…

深度解读 KaiwuDB 的排序操作

一、单节点执行 在单节点环境执行一条简单的 SQL 语句 SELECT * FROM NATION ORDER BY N_NAME。NATION 是一张小表&#xff0c;只有 25 条记录&#xff1b;对第 2 列 N_NAME 进行升序排列。 1. 抽象语法树 上述示例中的 SQL 语句经过分析器解析后得到 AST&#xff0c;如下图…

模板学堂|DataEase地图视图功能详解

DataEase开源数据可视化分析平台于2022年6月正式发布模板市场&#xff08;https://dataease.io/templates/&#xff09;。模板市场旨在为DataEase用户提供专业、美观、拿来即用的仪表板模板&#xff0c;方便用户根据自身的业务需求和使用场景选择对应的仪表板模板&#xff0c;并…

统信下进行打deb安装包,ubuntu使用dpkg打deb包,tomcat的deb安装包制作

背景 由于安全需要&#xff0c;tomcat不能用解压缩版本&#xff0c;只能通过deb安装的方式使用。 制作tomcat的deb安装包 安装环境 使用 sudo apt-get install automake 将安装 autoconf{a} automake autotools-dev{a} 三个包。 使用 sudo apt-get install dh-make 将安装 …