Yocto - 使用Yocto开发嵌入式Linux系统_01 前言

news2024/9/20 1:24:04

Embedded Linux Development Using Yocto Project: Leverage the power of the Yocto Project to build efficient Linux-based products, Third Edition

By: Otavio Salvador, Daiane Angolini

Overview of this book

Yocto 项目是开发可靠的嵌入式 Linux 项目的行业标准。与其他框架相比,Yocto Project 不仅开发省时,而且可靠性和健壮性更强。通过《使用 Yocto Project 进行嵌入式 Linux 开发》,你将了解 Yocto Project 工具,帮助你执行各种基于 Linux 的任务。你将深入了解 Poky 和 BitBake,探索构建 Linux 子系统项目的实际用例,使用可用于嵌入式 Linux 的 Yocto Project 工具,并揭开 SDK、配方工具和其他工具的秘密。新版与上述技术的最新长期支持版本保持一致,并引入了两个新章节,内容包括在 QEMU 中优化仿真以加快产品开发和最佳实践。在本书结束时,你将具备为真实硬件板生成和运行映像的能力。你将获得使用 Yocto 项目构建高效 Linux 系统的实践经验。

The Yocto Project is the industry standard for developing dependable embedded Linux projects. It stands out from other frameworks by offering time-efficient development with enhanced reliability and robustness. With Embedded Linux Development Using Yocto Project, you’ll acquire an understanding of Yocto Project tools, helping you perform different Linux-based tasks. You’ll gain a deep understanding of Poky and BitBake, explore practical use cases for building a Linux subsystem project, employ Yocto Project tools available for embedded Linux, and uncover the secrets of SDK, recipe tool, and others. This new edition is aligned with the latest long-term support release of the aforementioned technologies and introduces two new chapters, covering optimal emulation in QEMU for faster product development and best practices. By the end of this book, you’ll be well-equipped to generate and run an image for real hardware boards. You’ll gain hands-on experience in building efficient Linux systems using the Yocto Project.

Preface

Linux 一直被广泛应用于尖端产品中,嵌入式系统也是人类技术组合的重要组成部分。

Linux has been consistently used in cutting-edge products, and embedded systems have been wrought in the technological portfolio of humankind.

Yocto 项目是你项目的最佳选择。它提供了一套丰富的工具,可帮助你在产品开发过程中充分利用精力和资源,而不是重新发明轮子。

The Yocto Project is in an optimal position to be the choice for your projects. It provides a rich set of tools to help you use most of your energy and resources in your product development instead of reinventing the wheel.

本书的构思以基于嵌入式 Linux 的产品和开发团队的通常任务和要求为准则。然而,本书由活跃的社区成员撰写,采用了实用而直接的方法,是你学习曲线和产品项目的垫脚石。

The usual tasks and requirements of embedded Linux-based products and development teams were the guideline for this book’s conception. However, being written by active community members with a practical and straightforward approach is a stepping stone for both your learning curve and the product’s project.

在第 3 版中,除了全面更新以反映 Yocto 项目长期支持版本 4.0(代号为 Kirkstone)的变化外,本书还根据前几版读者的反馈意见进行了彻底修改,并扩展了内容,以方便读者理解与 Yocto 项目相关的复杂概念。

In this third edition, the book has been thoroughly reworked to incorporate the feedback from readers from previous editions and extended to facilitate the understanding of complex concepts related to the Yocto Project, in addition to being fully updated to reflect the changes made up to Yocto Project Long Term Support version 4.0 (codename Kirkstone).

此外,还增加了两个新章节,一个是关于使用 QEMU 通过仿真加速产品开发,另一个是关于 Yocto 项目和一般项目指南。

Furthermore, two new chapters have been added, one regarding using QEMU to speed product development through emulation and one about Yocto Project and general project guidelines.

Who this book is for

本书面向有嵌入式 Linux 经验的工程师和爱好者,他们愿意学习 Yocto 项目的工具,以便进行评估、比较或在项目中使用。本书旨在帮助你快速上手,避免陷入常见的学习曲线陷阱。

This book is intended for engineers and enthusiasts with embedded Linux experience, willing to learn about Yocto Project’s tools for evaluation, comparison, or use in a project. This book is aimed at helping you get up to speed quickly and to prevent you from getting trapped into the usual learning curve pitfalls.

What this book covers

第 1 章,认识 Yocto 项目,将介绍 Yocto 项目及其主要工具的概念和前提。

第 2 章,构建基于 Poky 的系统,介绍首次构建所需的环境。

第 3 章,使用 Toaster 来构建镜像,介绍了可用作配置包装器和构建工具的用户友好型网络界面。

第 4 章,认识 BitBake 工具,介绍 BitBake 元数据概念。

第 5 章,掌握 BitBake 工具,介绍它如何管理任务及其依赖关系。

第 6 章,详细介绍临时编译目录,详细介绍编译的临时输出文件夹。

第 7 章,相同机制的打包支持,解释作为创建和管理所有二进制包基础的打包机制。

第 8 章,深入了解 BitBake 元数据,详细介绍 BitBake 元数据语言,该语言将用于所有其他章节。

第 9 章,Yocto 项目的开发,演示获取开发环境所需的工作流程。

第 10 章,Yocto 项目调试,介绍如何使用 Poky 生成调试环境以及如何使用该环境。

第 11 章,探索外部层,探讨了 Yocto 项目最重要的概念之一  ——  使用外部层的灵活性。

第 12 章,创建自定义图层,介绍创建图层的步骤。

第 13 章,定制现有配方,举例说明如何定制现有配方。

第 14 章,实现 GPL 合规性,总结了符合版权法的产品所涉及的任务和概念。

第 15 章,启动我们的定制嵌入式 Linux,使用真实的硬件机器和 Yocto 项目的工具。

第 16 章,通过仿真加速产品开发--QEMU ,介绍了 QEMU 如何加速产品开发。

第 17 章,最佳实践,根据作者的经验讨论了一些与 Yocto 项目和一般项目相关的指导原则。

Chapter 1, Meeting the Yocto Project, presents the first concepts and premises to introduce parts of the Yocto Project and its main tools.

Chapter 2, Baking Our Poky-Based System, introduces the environment needed for the first build.

Chapter 3, Using Toaster to Bake an Image, shows the user-friendly web interface that can be used as a configuration wrapper and build tool.

Chapter 4, Meeting the BitBake Tool, presents the BitBake metadata concepts.

Chapter 5, Grasping the BitBake Tool, shows how it manages the tasks and their dependencies.

Chapter 6, Detailing the Temporary Build Directory, details the temporary output folder of a build.

Chapter 7, Assimilating Packaging Support, explains the packaging mechanism used as a base to create and manage all the binary packages.

Chapter 8, Diving into BitBake Metadata, details the BitBake metadata language, which will be used for all the other chapters.

Chapter 9, Developing with the Yocto Project, demonstrates the workflow needed to obtain a development environment.

Chapter 10, Debugging with the Yocto Project, shows how to use Poky to generate a debug environment and how to use it.

Chapter 11, Exploring External Layers, explores one of the most important concepts of the Yocto Project—the flexibility of using external layers.

Chapter 12, Creating Custom Layers, practices the steps for layer creation.

Chapter 13, Customizing Existing Recipes, presents examples of how to customize existing recipes.

Chapter 14, Achieving GPL Compliance, summarizes the tasks and concepts involved for a copyleft compliance product.

Chapter 15, Booting Our Custom Embedded Linux, uses real hardware machines and the Yocto Project’s tools.

Chapter 16, Speeding Up Product Development Through Emulation – QEMU, illustrates how QEMU can accelerate product development.

Chapter 17, Best Practices, discusses some Yocto Project and general project-related guidelines based on the author’s experience.

What you will learn

* 了解基本的 Poky 工作流概念,以及配置和准备 Poky 构建环境

* 借助最新版本 Yocto 项目中的最新示例进行学习

* 使用 Toaster 配置构建服务器并自定义镜像

* 使用 BitBake 生成镜像并将软件包安装到创建的镜像中

* 通过设置和使用软件包源支持开发过程

* 通过配置 Poky 调试 Yocto 项目

* 为 BeagleBone Black、RaspberryPi 4 和 Wandboard 构建镜像,并从 SD 卡启动

* Understand the basic Poky workflows concepts along with configuring and preparing the Poky build environment

* Learn with the help of up-to-date examples in the latest version of Yocto Project

* Configure a build server and customize images using Toaster

* Generate images and fit packages into created images using BitBake

* Support the development process by setting up and using Package feeds

* Debug Yocto Project by configuring Poky

* Build an image for the BeagleBone Black, RaspberryPi 4, and Wandboard, and boot it from an SD card

To get the most out of this book

要充分利用这本书

要更好地理解本书,关键是你要对文中没有涉及或只是简单提及的一些主题有一定的背景知识,例如 Git 和 Linux 内核及其基本编译过程的常识。

To understand this book better, it is crucial that you have some previous background about some of the topics that are not covered or are just briefly mentioned in the text, such as Git and general knowledge of Linux kernel and its basic compilation process.

在了解本书详述的技术概念之前,若想了解 Yocto 项目的全貌,我们推荐你阅读 https://git.io/vFUiI Git 仓库中的开源小册子《Yocto 项目的方向》;这本小册子的内容旨在帮助新人更好地理解 Yocto 项目的目标及其潜在用途。在深入探讨如何实现的技术细节之前,本手册提供了项目概览。

To understand the big picture of the Yocto Project before going to the technical concepts detailed in this book, we recommend the open sourced booklet, Heading for the Yocto Project, found in the Git repository at https://git.io/vFUiI ; the content of this booklet is intended to help newcomers to gain a better understanding of the goals of the Yocto Project and its potential uses. It provides an overview of the project before diving into the technical details of how things can be done.

需要对 GNU/Linux 环境和嵌入式 Linux 的使用有基本的了解,以及开发中使用的一般概念,如编译、调试、部署和安装。此外,会使用 shell 脚本和 Python 更佳,因为这些编程语言是 Yocto 项目工具广泛使用的核心技术。

A basic understanding of the use of the GNU/Linux environment and embedded Linux is required, as well as the general concepts used in development, such as compilation, debugging, deployment, and installation. In addition, some experience with shell script and Python is a bonus because these programming languages are core technologies used extensively by the Yocto Project’s tools.

不过,你可能更喜欢了解这些主题。在这种情况下,我们推荐 Chris Simmonds 所著的《精通嵌入式 Linux 编程》(Mastering Embedded Linux Programming - Third Edition)一书,ISBN-13 978-1789530384。

However, you may prefer to learn more about those topics. In that case, we recommend the book Mastering Embedded Linux Programming - Third Edition, ISBN-13 978-1789530384, by Chris Simmonds.

你不应该把我们上面列举的那些概念中的任何缺失视为一种阻碍,而应该把它们视为你可以学习的东西,同时,你还可以通过这本书练习使用它们。

You shouldn’t take any missing concepts – of those we enumerated above – as a deterrent but as something you can learn and, at the same time, practice their use with this book.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2147507.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++ | Leetcode C++题解之第405题数字转换为十六进制数

题目: 题解: class Solution { public:string toHex(int num) {if (num 0) {return "0";}string sb;for (int i 7; i > 0; i --) {int val (num >> (4 * i)) & 0xf;if (sb.length() > 0 || val > 0) {char digit val …

内存管理(C++版)

C/C内存分布 程序经过编译生成可执行的二进制程序,我们可以把虚拟进程地址分为以下四个空间:栈,堆,常量区,静态区。这四个区里面存贮的也是不一样的内容。 各个区域所存储内容的说明 栈/堆栈:用于建立函…

C++—string类接口与用法大总结(其中涉及STL基础)

目录 1.string类的本质 2.string类的构造 1.普通构造 2.功能型构造 1.拷贝构造功能型 2.带参构造功能型 3.其余构造 3.operator[] 4.迭代器(iterator) 1.概念 2.改变string对象本身 3.正向迭代器(iterator) 4.反向迭代…

基于springboot的驾校预约管理系统的设计与实现 (含源码+sql+视频导入教程)

👉文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 基于springboot的驾校预约管理系统5拥有三种角色:管理员、教练、学员 管理员:学员管理、教练管理、车辆管理、车辆关联、维修管理等 教练:学员查看/毕…

通过Python代码发送量化交易信号邮件通知

量化交易利用数学模型和计算机算法来分析市场数据,并生成交易信号,本文将介绍如何使用Python编写一个简单的脚本,通过发送邮件通知量化交易信号。 开启SMTP服务 首先要在发件箱的邮件设置中,将POP3/SMPT服务开启,记录下授权密码,在本地可通过此密码登录,注意有效期和保…

总结拓展十:SAP开发计划(下)

第一节 接口功能开发说明书设计 1、软件系统接口作用 答:系统接口,是实现系统间数据传输的功能。 2、软件系统接口特点 1)采用Web Service技术作为平台,有众多的数据传输协议标准,通过API与外界交流数据。 2&…

向上转移和向下转型

向上转型 实际就是创建一个子类对象,将其当成父类对象来使用。格式:父类类型 对象名new 子类类型();eg:Animal animalnew Cat();animal是父类类型,但可以引用…

超详细超实用!!!零基础java开发之云风笔记接口开发之查询单条笔记详细信息(十二)

云风网 云风笔记 云风知识库 一、service/NoteApi新增getNodeDetail接口定义 public interface NoteApi {...NoteManage getNoteDetail(int id); }二、service/impl/NoteServiceImpl接口实现逻辑 public class NoteServiceImpl implements NoteApi {AutowiredNoteMapper not…

产品经理入门攻略:如何从零开始成为产品经理

“人人都是产品经理”这句话相信你一定听过。 作为现在的热门职业,许多朋友也在心里埋下了一颗想要成为产品经理的种子。 产品经理的工作其实没有传说中的那么“高大上”,甚至可以说大多数时候是枯燥且无聊的,需要不断地对数据进行分析&…

如何在ONLYOFFICE文档中,将新插件添加为选项卡

随着 ONLYOFFICE 文档8.1版本的推出,我们引入了各式各样的功能,旨在增强软件功能性和优化用户体验。其中一项改进是,插件可以显示在一个独立的选项卡中了。在本博客文章中,我们将带您了解充分利用这一新功能的各项步骤。 关于 ONL…

图像修复(Inpainting)技术的前沿模型与数据集资源汇总

图像修复(Image Inpainting)是一种计算机视觉技术,旨在填补图像中的缺失区域或去除图像中的不需要部分,使其看起来自然且无明显痕迹。其目标是根据图像的上下文信息和周围像素来推断和重建缺失区域的内容,以生成逼真且…

实战17-NavBar+Vip布局

NavBar.ets import { PADDING } from ../../constants/size import rvp from ../../utils/resposive/rvIndexComponent export default struct NavBar {StorageProp(topHeight) topHeight: number 0;build() {Row() {Row({ space: rvp(6) }) {Text(请选择地址).fontSize(rvp(1…

Java基础笔记1】Java基础语法

目录 一、Java简介 二、JDK和Java初体验 三、配置环境变量 四、IDEA快捷键 五、Java语法基础 1. 注释 2. 字面量 3. 变量 4. 关键字和标识符 5. 变量详解 a. 数值数据在计算机中的存储​编辑 b. 文本、图片、音频等数据在计算机中的存储 c. 八进制和十六进制 6. 数据类型 a. …

【LabVIEW】事件结构的用法

本篇文章记录我学习LabVIEW的事件结构用法,希望我的分享对你有所帮助! 目录 一、案例说明 1、 LabVIEW实现“YAXBXC的计算” 2、添加事件结构 一、案例说明 在LabVIEW实现“YAXBXC的计算”的基础上,加上事件结构,实现单击一次按…

【读书笔记-《30天自制操作系统》-22】Day23

本篇内容比较简单,集中于显示问题。首先编写了应用程序使用的api_malloc,然后实现了在窗口中画点与画线的API与应用程序。有了窗口显示,还要实现关闭窗口的功能,于是在键盘输入API的基础上实现了按下按键关闭窗口。最后发现用上文…

初学者笔记本电脑玩转大模型系列二:微调谷歌Gemma模型

之前分享了《初学者笔记本电脑玩转大模型系列一:利用ollama跑大模型》,这不,Google发布了Gemma开放模型,同等参数尺寸性能最好的大模型,那么言归正传,如何在笔记本电脑微调Gemma模型呢?我们接下…

阿里云CTO:通义稳居全球最强开源大模型,性能接近GPT-4o

来源:首席数智官 9月19日,在2024杭州云栖大会上,阿里云CTO周靖人表示,阿里云正在围绕AI时代,树立一个AI基础设施的新标准,全面升级从服务器到计算、存储、网络、数据处理、模型训练和推理平台的技术架构体…

Temu应用全球下载量突破7.35亿次!美国占27%,还是主要市场

据了解,随着购物者更多选择Temu作为实惠的在线购物目的地,其月访问量在今年第一季度跃升至5亿次以上,应用下载量也大幅增加。据外媒报道,根据Stocklytics的最新数据,Temu应用程序截至目前的下载量已超过7.35亿次。 最新…

动态线程池(二)

动态线程池 环境搭建 启动Nacos和redis 安装Node-Exporter 安装Prometheus 安装Grafana 源码解析

鸢尾花书实践和知识记录[数学要素3-2乘除]

书的作者 文章目录 算术乘除:先乘除,后加减,括号内先算基本的乘法运算计算阶乘基本除法 向量的乘法:标量乘法,向量内积,逐项积标量乘法向量的内积对于inner和dot的实现方式的探究逐项积dot的计算过程 逐项…