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

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.xdnf.cn/news/143880.html

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

相关文章

微服务架构详解

微服务与SOA概述 SOA历史 SOA示例 微服务历史 SOA 被抛弃了么? 微服务与 SOA 剖析 SOA 架构剖析 ESB就是一个一个微服务的功能 ESB 功能举例 对象转换还有逻辑转换 很多东西都要在ESB里面处理 微服务剖析 把一个单体结构拆分多个小服务。为了让小服务之间通信方便&#x…

销量狂飙!中国随身WiFi品牌TOP8榜单,你的选择上榜了吗?

TOP1 格行:121.6万台 好评亮点:销量领先,用户反馈网速表现稳定,支持多网络切换,使用便捷。售后服务获得广泛好评。 差评槽点:产品款式较为单一,充电宝结合上网功能时电量消耗较快,需优化电池管…

添可2024新品发布会,让智能家电成为“美好家”的具象表达

9月19日,添可以“万物新生,智领美好家”为主题,于上海浦东美术馆举办2024年度新品发布会。 会上,添可凭借对智能家电与家居设计领域的深刻洞察,全新发布了芙万Art Station智能洗地机、芙万Artist洗地机、饮万水纪元净…

Python+PyCharm安装(最新)

目录 1.Python和PyCharm简介 2.环境检测 3.Python下载与安装 3.1Python下载 3.2Python安装 3.3python测试 4.PyCharm下载与安装 4.1PyCharm下载 4.2PyCharm安装 4.3PyCharm测试 4.4PyCharm应用 5.注意事项 5.1更新pip 5.2安装库 ​5.3查看已安装的库 6.总结 1.Py…

“华为杯”第二十一届中国研究生数学建模竞赛开赛须知

↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ 1.加密赛题开始下载时间:2024年9月20日8:00&am…

单细胞代谢组学数据分析利器---SCMeTA

今天继续进行新的分享,为了支持单细胞代谢研究的严谨性和可重复性 ,今天分享基于时间序列的单细胞代谢数据分析处理工作流程,名为 SCMeTA。它保留了可扩展的接口和插件系统,以适应来自各种仪器的数据。对从 QE-Orbitrap MS 获取的…

前端常见面试-首页性能提升、项目优化

首页性能提升 Vue 首页性能提升是Vue应用开发中非常重要的一环,它直接影响用户体验和应用的加载速度。以下是一些关键的Vue首页性能提升策略: 1. 代码分割与懒加载 路由懒加载:利用Webpack的动态导入(import())特性…

数据结构-3.1.栈的基本概念

一.栈的定义: 栈和线性表的区别:栈只能在表尾一端进行插入或者删除的操作,而线性表可以在任意一个地方进行插入或者删除 二.有关栈的关键术语: 三.栈的基本操作: 1.回顾线性表的基本操作: 2.栈的基本操作&…

使用vite+react+ts+Ant Design开发后台管理项目(一)

前言 本文将引导开发者从零基础开始,运用、react、react-router、react-redux、Ant Design、less、tailwindcss、axios等前沿技术栈,构建一个高效、响应式的后台管理系统。通过详细的步骤和实践指导,文章旨在为开发者揭示如何利用这些技术工…

八股文-JVM

是什么?有什么用?谁发明的?什么时候发明的? Java虚拟机,用来运行Java程序,有很多个版本的虚拟机,比如HotSpot,最开始是SUN公司开发人员,和Java一起发布,现在…

什么是泛在智能?应用在哪些场景?

泛在智能是一个融合了多种技术概念和应用场景的综合性概念,其核心在于通过广泛嵌入的感知和计算设备,以及智能的人机交互界面,实现对环境、人和物的全面感知与智能响应。 定义与背景 泛在智能(Ambient Intelligence)是…

2024”华为杯“数学建模小白全攻略【近五年题目、获奖名单、类型、策略】

1. 时间及策略 官网:https://cpipc.acge.org.cn/ 研创网 比赛开始:2024.9.21-9.24 模拟:2024.9.16-9.19 时间控制 1.第一天的整个晚上,你们需要认真努力地研究问题,建立模型,编写程序。 2.第二天的绝大部分时间将花在问题的研究,模型的建立和程序设计上。并开始写作。…

Mybatis 和 数据库连接

第一次要下载驱动 查询数据库版本 但是在idea查看数据库我不行,插件我也装了,然后我在尝试改版本。也不行。 爆错 感觉还是插件的问题。先不弄了,影响不大。 但是加载了这个,能在idea写sql语句,还能有提示。

Mybatis缓存实现

01-一级缓存 演示案例首先创建sql查询语句 在对应接口中声明方法参数是Dept因为sql语句中的参数在Dept pojo类中都有所有声明pojo对象 由于返回的数量不知道是多少条所以用list接收,<>由于返回的是dept类数据所以泛型里传入Dept 一级缓存的介绍如下图 失效情况详细介绍…

【C++11 —— 智能指针】

C11 —— 智能指针 为什么需要智能指针内存泄漏什么是内存泄漏&#xff0c;内存泄漏的危害内存泄漏分类如何避免内存泄漏 智能指针的使用及原理RAII智能指针的原理std::auto_ptrunique_ptrstd::shared_ptrshared_ptr的线程安全问题 智能指针的历史 为什么需要智能指针 下面我们…

AcWing 803.区间和并

题目&#xff1a; 假定有一个无限长的数轴&#xff0c;数轴上每个坐标上的数都是 0。 现在&#xff0c;我们首先进行 n 次操作&#xff0c;每次操作将某一位置 x 上的数加 c。 接下来&#xff0c;进行 m 次询问&#xff0c;每个询问包含两个整数 l 和 r &#xff0c;你需要求…

在UE5中使用AirSim, 无人机无法移动,如何解决??

&#x1f3c6;本文收录于《CSDN问答解惑-专业版》专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收…

枚举(not二分)

前言&#xff1a;这一题似乎用不了二分以及三分&#xff0c;害我写这么久&#xff0c;但是查找下一个元素的时候要用到二分查找 题目地址 #include<bits/stdc.h> using namespace std; #define endl "\n"int n; const int N (int)2e510; vector<int> a;…

SCSAI平台面向对象建模技术的设计和实现(1)

SCSAI平台面向对象建模技术的设计和实现&#xff08;1&#xff09; 原创 团长团 AI智造AI编程 2024年09月19日 20:09 北京 用爱编程30年&#xff0c;倾心打造工业和智能智造软件研发平台SCSAI,用创新的方案、大幅的让利和极致的营销&#xff0c;致力于为10000家的中小企业实现…