Yocto ,(本意Yocto是最小的计量单位,幺(科托),10^-24[1])是一个开源社区。它通过提供模版、工具和方法帮助开发者创建基于linux内核的定制系统,支持ARM, PPC, MIPS, x86 (32 & 64 bit)硬件体系架构。

假如用烹饪一桌酒席来形容yocto构建,则Yocto就是饭店,Poky就是厨房(以及提供作为参考的菜的搭配套餐),Metadata就是烹饪资源(.bb/.bbappend表示配方/配方上的补充贴签),Layers就是菜谱的分类(如川菜谱、粤菜谱),Bitbake就是厨师,构建的结果就是输出一桌酒席。

yocto项目的简要工作流程
​ Yocto项目的核心组件OpenEmbedded构建系统采用工作流方式来完成映像(Image)和SDK的生成,以下简要概述整个工作流程:

开发人员指定架构、策略、补丁和配置细节。
构建系统根据配置从指定位置获取并下载源代码。构建系统支持标准方法,例如 tarball 或源代码存储库系统,例如 Git。
下载源代码后,构建系统会将源代码提取到本地工作区,在该工作区中应用补丁并运行配置和编译软件的通用步骤。
然后,构建系统将软件安装到临时暂存区中,您选择的二进制包格式(DEB、RPM 或 IPK)用于在该暂存区中汇总软件。
不同的 QA 和健全性检查贯穿整个构建过程。
创建二进制文件后,构建系统会生成一个二进制包提要,用于创建最终的根文件映像。
构建系统同时生成文件系统镜像和定制的可扩展 SDK (eSDK) 用于应用程序开发。
​ 简单来说yocto项目工作流程就是OpenEmbedded构建系统读取各类配置文件完成编译打包工作,所以学会配置yocto项目的配置文件就OK了,但似乎没有很好的切入点?那反过来通过了解OpenEmbedded构建系统的构建过程来学习如何配置yocto项目的配置文件?
————————————————
版权声明:本文为CSDN博主「caodongwang」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zz2633105/article/details/122336684

Yocto项目通过Poky来构建一个系统,并提供了一个开放源码的开发环境,针对目标为ARM,MIPS,PowerPC和x86架构,而平台包括x86-64和模拟器。

Poky is a reference distribution of the Yocto Project®. It contains the OpenEmbedded Build System (BitBake and OpenEmbedded Core) as well as a set of metadata to get you started building your own distro. To use the Yocto Project tools, you can download Poky and use it to bootstrap your own distribution. Note that Poky does not contain binary files – it is a working example of how to build your own custom Linux distribution from source.

Poky是Yocto Project的一个参考发行版。它包含了OpenEmbedded构建系统(BitBake和OpenEmbedded Core)以及一套元数据,让你开始构建自己的发行版。为了使用Yocto项目的工具,你可以下载Poky并使用它来启动你自己的发行版。请注意,Poky不包含二进制文件--它是一个如何从源代码构建你自己的自定义Linux发行版的工作实例。

而Poky名字的由来,有两种说法。

一种是:"Poky" in English means "small". The idea being that the distro is engineered to build small OS images for small embedded devices.

"Poky "在英语中是 "小 "的意思。意思是,名为Poky的参考发行版是为小型嵌入式设备建立小型操作系统图像。

另一种说法,是由巧克力棒食品而来,我们经常可以看到的一个品牌。

All the names of Yocto (or better openembedded, which is it's ancestor) have to do with food. There is bitbake, cooker, toaster, and what not.

Pocky is a brand of chocolate coated bisquit sticks. (Not very international, I have not seen them.) But using a trademarked (I assume) name might end up in trouble, so they changed the spelling but kept the pronunciation.

Yocto(或者说openembedded,Yocoto的源头)的所有名字都与食物有关。有bitbake、cooker、toaster,还有其他的。

Pocky是一种巧克力涂层的饼干棒品牌。但使用一个有商标的名字可能会有麻烦,所以他们改变了拼写,但保留了发音。
————————————————
版权声明:本文为CSDN博主「夜流冰」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/guoqx/article/details/123415613

QEMU(Quick EMUlator,快速模拟器)是一套由法布里斯·贝拉(Fabrice Bellard)所编写的以GPL许可证分发源码的模拟处理器软件,在GNU/Linux平台上使用广泛。Bochs,PearPC等与其类似,但不具备其许多特性,比如高速度及跨平台的特性,通过KQEMU这个闭源的加速器,QEMU能模拟至接近真实电脑的速度。

0.9.1及之前版本的qemu可以使用kqemu加速器。在qemu1.0之后的版本,都无法使用kqemu,主要利用qemu-kvm加速模块,并且加速效果以及稳定性明显比kqemu好。

运作模式

QEMU有两种主要运作模式:

Qemu下 Win NT 5.0

* User mode模拟模式,亦即是用户模式。QEMU能启动那些为不同中央处理器编译的Linux程序。而Wine及Dosemu是其主要目标。

* System mode模拟模式,亦即是系统模式。QEMU能模拟整个电脑系统,包括中央处理器及其他周边设备。它使得为跨平台编写的程序进行测试及除错工作变得容易。其亦能用来在一部主机上虚拟数部不同虚拟电脑。

QEMU的主体部份是在LGPL下发布的,而其系统模式模拟则是在GPL下发布;而kqemu这个加速器则是在免费但闭源的条件下发布的。使用kqemu可使QEMU能模拟至接近实机速度,但其在虚拟的操作系统是 Microsoft Windows 98或以下的情况下是无用的。

软件优点

默认支持多种架构。可以模拟 IA-32 (x86)个人电脑,AMD 64个人电脑,MIPS R4000, 升阳的SPARCsun3 与PowerPC(PReP 及 Power Macintosh)架构

可扩展,可自定义新的指令集

开源,可移植,仿真速度快

在支持硬件虚拟化的x86构架上可以使用KVM加速配合内核ksm大页面备份内存,速度稳定远超过VMware ESX

增加了模拟速度,某些程序甚至可以实时运行

可以在其他平台上运行Linux的程序

可以储存及还原运行状态(如运行中的程序)

可以虚拟网络卡

软件缺点

对微软Windows及某些主机操作系统的不完善支持(某些模拟的系统仅能运行)

对不常用的架构的支持并不完善

除非使用kqemu或KVM加速器,否则其模拟速度仍不及其他虚拟软件,如VMware

比其他模拟软件难安装及使用

使用实例

以下的指令可以建立一个500MB大小的"qcow"格式的硬盘映像。

qemu-img create -f qcow c.img 500M

而以下的指令会使虚拟机器在128MB内存,使用c.img这个用以上介绍的指令所建立的硬盘映像及以linux.iso为光盘映像的情况下运行。注意,如果使用物理光驱,请将-cdrom linux.iso这个参数变为 -cdrom /dev/cdrom或您所用的光驱。

qemu -clock dynticks -rtc-td-hack -localtime -hda c.img -cdrom linux.iso -boot d -m 128 -enable-audio -localtime

如果想缺省使用全萤幕启动子操作系统,可作以上指令后再加上"-full-screen"这个参数,如想在运行时离开全萤幕,请使用组合键Ctrl-Alt-F便可。

参数简介

-L dir 指向BIOS和VGA BIOS所在目录

-hda/-hdb/-hdd/-hdc “文件名” 使用“文件名”作为硬盘0/1/2/3镜像。

-cdrom “文件名” 使用“文件名”作为光盘镜像(文件应该是ISO类型)。

Windows 下的使用者,可以透过下列指令使用实体光盘:

-cdrom //./x: -> x 代表光盘名称/位置

例如:-cdrom //./e: -> 使用 E:\ 为光盘

-fda/-fdb “文件名” 使用“文件名”作为磁盘0/1镜像。

-boot [a|d|c] 使用磁盘<a>,光盘<d>,或者硬盘<c>启动。

-m容量指定内存的大小,单位是MB。

-soundhw c1,... 使用声卡设备。

-soundhw ? 列出所有可使用的声卡

-soundhw all 使用全部声卡

-usb 允许使用usb设备。

-usbdevice 名字 添加一个usb设备“名字”。

-net nic 创建一块新的网卡。

加速模块

The QEMU 加速模组 (kqemu)

kqemu这个加速模组是Fabrice Bellard专为Linux核心而设计的闭源附加程序,目的是为了加速QEMU的子系统运行速度。在x86硬件上模拟x86的操作系统可达到主机速度。

QEMU 加速模组 - 使用者限制条件

QEMU 加速模组,kqemu,是一套闭源商业产品。可作个人使用而不受限制。但如果想使用光碟, ISO 映像或附加套件等方法分发QEMU加速模组,则必须联络作者并取得其同意后方可进行。

QVM86

现时除了以上的kqemu这个闭源的QEMU 加速模组外,亦有一个在GPL下发布的QEMU 加速模组。

KVM

KVM(基于内核的虚拟机)是FreeBSD和Linux的内核模块,它允许用户空间程序运用各种处理器的虚拟化硬件特性,这个特点使得QEMU可以为x86, PPC 440, PPC 970, S/390, ARM (Cortex A15, AArch64) 以及 MIPS32主机提供虚拟化支持。当目标体系结构与宿主机相同时,QEMU可以使用KVM进行加速。

HAXM

HAXM是一个开源、跨平台的硬件辅助虚拟化引擎(hypervisor),由intel推出并广泛用作android模拟器和QEMU的加速。HAXM在宿主机上作为一个内核驱动运行,并提供一个类似KVM的用户空间接口,使得像QEMU这样的模拟软件能够使用Intel CPU提供的硬件虚拟化功能为虚拟机加速。使用需要硬件支持Intel VT-x 虚拟化以及EPT功能,软件支持windows和mac操作系统,也已经有Linux和FreeBSD的移植版本。

yocto,poky,qemu相关推荐

  1. 嵌入式linux之yocto(三)qemu

    1. 简述 poky项目内置了qemu,使用qumu可以不使用开发板去快速熟悉yocto工具. 我这里时在服务器上运行,个人电脑运行太卡. 1. qemux86-64 /* 1. 设置环境和构建目录 ...

  2. [yocto]poky环境搭建和基本概念

    poky本地搭建 环境搭建 source oe-init-build-env <builddir> 后面的参数可以忽略.该脚本主要用来设置构建环境的目录结构和初始化核心集合的配置文件 脚本 ...

  3. Yocto Poky OpenEmbeded之间的关系

    总结: 1. Yocto 项目是一个包含大量"嵌入式linux" 组件的集合体 2.Poky是Yocto的其中一个特殊的组件,用于构建一个完整的嵌入式系统,可以称之为Yocto的& ...

  4. Yocto开发篇 | Ubuntu构建与体验Poky发行版(Yocto 3.1版本)

    一.开发环境要求 50GB空闲磁盘空间(最好还剩余100GB以上) Git 1.8.3.1以上版本 tar 1.28以上版本 Python 3.5.0以上版本 gcc 5.0以上版本 二.安装依赖 $ ...

  5. Yocto Issues | The TMPDIR: /home12/calm.xia/poky/qemuarm/tmp can't be located on nfs.

    文章目录 [背景] [报错] [分析] [解决办法] 总结思考: [背景] 最近工作要学习Yocto,之前没有了解过,想跟着经典书<Embedded Linux Development usin ...

  6. Yocto系列讲解[入门篇] 1 - 快速入门熟悉Yocto的构建

    By: fulinux E-mail: fulinux@sina.com Blog: https://blog.csdn.net/fulinus 喜欢的盆友欢迎点赞和订阅! 你的喜欢就是我写作的动力! ...

  7. yocto编译linux,好实用!用 Yocto 在 Ubuntu 上创建最小化 Linux 发行版

    导读 本文主要聚焦在如何使用 Yocto 在 Ubuntu 上创建一个最小化的 Linux 发行版.Yocto 项目在嵌入式 Linux 的世界非常著名,这是因为它用起来非常灵活.方便.Yocto 的 ...

  8. hello yocto

    hello yocto 关键词: yocto Poky BitBake 通过两个小示例来了解yocto的构建流程,熟悉poky进而了解yocto. 主要内容: 快速构建yocto环境 hello bi ...

  9. 《嵌入式Linux系统开发:基于 Yocto Project》笔记

    写在前面 这本书的"译者序"里面有这么一句话: 市面上不缺乏适用于各种开发语言的开发.编译和打包工具,但在Yocto项目出现前,这些零散的工作需要嵌入式开发者自己串起来以交付最终的 ...

最新文章

  1. iOS开发之自定义View的一些坑
  2. This 在 C# 中的含义
  3. linux的mysql主主_Linux下指定mysql数据库数据配置主主同步的实例
  4. Knox网关、网关简介、概述、支持的Apache Hadoop服务、支持的Apache Hadoop生态系统的UI、参考资料
  5. windows安装XGBoost
  6. login组件的两种用法_Android-模块化、组件化、插件化、热修复-组件化-组件间的通信(本地,下沉,bus,路由)...
  7. ubuntu 修改和配置ip
  8. Rectangle 属性
  9. 限时福利:入群锁定大会直播+PPT,听百位 AI 技术大咖、20 大热门主题分享!...
  10. VC 播放WAV文件
  11. pandas——pd.DataFrame.iloc()
  12. Mac版IntelliJ IDEA上手的一些必要设置
  13. 蠕虫病毒通过什么侵入计算机系统,注意!蠕虫病毒入侵!我区已有单位个人计算机中招!...
  14. 不调用python函数实现直方图均衡化_数字图像处理之直方图均衡化
  15. DCMM GBT 36073-2018 数据管理能力成熟度评估模型(Word版)
  16. IntelliJ IDEA搭建Hadoop开发环境(下)
  17. 园区网络的IP地址资源规划 使用VLSM(变长子网掩码)主机数量、子网段数量、主机总数如何计算
  18. hosts文件位置以及如何修改hosts文件【Windows】【以github为例】
  19. Delphi皮肤控件分析与QQ的皮肤变色功能
  20. devenv.exe - 系统错误无法启动此程序,因为计算机中丢失 MSVCR100.dll。尝试重新安装该程序以解决此问题。【解决办法】...

热门文章

  1. JS下拉列表动态收缩与展开
  2. CHIL-SQL-LCASE() 函数
  3. (附源码)ssm介绍信智能实现系统 毕业设计 260930
  4. JVM仍然是君主制:Java主导列表,Kotlin不在决赛名单中
  5. 备忘录模式,徐长卿的三世记忆
  6. 2020年计算机领域(人工智能、数据库、计算机理论、系统软件、计算机网络等)会议截稿日期大全!(2020年3月份更新)
  7. 交互式语音应答(IVR)系统行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  8. 数据可视化BI平台选型调研报告 Superset VS Redash VS Metabase
  9. 跳跃游戏(jump-game)图解
  10. 2015年中国视频监控市场发展特点及未来展望