当前位置:网站首页>推荐书籍 > 正文 >>

Yocto项目实战教程 高效定制嵌入式Linux系统

图书信息

作者:孙杰著

出版社:电子工业出版社

定价:108.00

ISBN:9787121500756

出版时间:2025-05-01

分类:图书,行业职业,计算机,操作系统

商品介绍

目录

第1章Yocto项目1

1.1嵌入式Linux系统1

1.1.1什么是嵌入式系统2

1.1.2嵌入式Linux系统简介2

1.1.3嵌入式Linux系统的应用领域3

1.1.4嵌入式Linux系统的构建工具4

1.1.5常见的嵌入式Linux系统发行版5

1.2什么是Yocto项目6

1.2.1Yocto项目的起源6

1.2.2为什么选择Yocto项目7

1.2.3社区与资源7

1.3Yocto项目概览9

1.3.1版本管理10

1.3.2开发与生产工具12

1.3.3常用术语13

1.4特性与挑战16

1.4.1特性与优势16

1.4.2面临的挑战17

1.4.3经验总结19

第2章Linux系统架构22

2.1GNU/Linux22

2.1.1GNU/Linux概述23

2.1.2Linux系统架构概述23

2.2Bootloader24

2.2.1Bootloader启动流程25

2.2.2常用的Bootloader25

2.2.3U-Boot简介26

2.2.4GRUB简介27

2.3内核空间28

2.3.1Linux内核28

2.3.2控制硬件资源31

2.3.3服务用户空间32

2.4用户空间33

2.4.1根文件系统34

2.4.2标准C库34

2.4.3系统共享库36

2.4.4init进程37

2.4.5窗口管理系统38

第3章Yocto项目基础架构40

3.1快速构建指南41

3.1.1搭建构建主机环境41

3.1.2下载Poky源代码42

3.1.3初始化OpenEmbedded构建环境42

3.1.4构建镜像44

3.1.5QEMU启动镜像44

3.2Yocto项目架构45

3.2.1层模型45

3.2.2核心组件46

3.2.3构建主机47

3.3OpenEmbedded构建系统48

3.3.1BitBake构建引擎49

3.3.2OpenEmbedded-Core49

3.3.3构建系统工作流50

3.4OpenEmbedded构建环境52

3.4.1构建环境配置脚本53

3.4.2构建目录结构54

3.4.3构建输出结构55

第4章元数据架构60

4.1元数据60

4.1.1元数据的概念61

4.1.2元数据文件61

4.1.3元数据语法68

4.2菜谱77

4.2.1菜谱及追加菜谱示例77

4.2.2菜谱命名与版本控制79

4.2.3菜谱语法81

4.2.4创建菜谱89

4.2.5菜谱工作流97

4.3层108

4.3.1层的概念108

4.3.2层的结构与功能109

4.3.3层的分类115

4.3.4bitbake-layers层管理工具122

第5章BitBake构建引擎130

5.1BitBake的起源与发展130

5.2BitBake的源代码131

5.2.1BitBake源代码的获取131

5.2.2BitBake源代码结构及核心模块132

5.3BitBake命令137

5.3.1BitBake的命令语法137

5.3.2执行默认任务140

5.3.3执行指定任务141

5.3.4强制执行任务143

5.4BitBake调试与优化144

5.4.1清除共享状态缓存144

5.4.2查看任务列表146

5.4.3查看变量值149

5.4.4查看依赖关系150

5.4.5查看调试信息153

5.5BitBake执行流程154

5.5.1基础配置解析155

5.5.2菜谱解析与管理156

5.5.3任务依赖与调度158

5.5.4任务执行与日志记录159

第6章Poky参考发行版163

6.1Poky163

6.1.1发行版与特性164

6.1.2源代码接口与核心文件165

6.2镜像菜谱167

6.2.1镜像菜谱详解167

6.2.2镜像菜谱语法171

6.2.3镜像类173

6.2.4包组菜谱178

6.3机器配置文件181

6.3.1Poky中的机器配置文件181

6.3.2机器特性与实现188

6.3.3选择目标设备190

6.4发行版配置文件191

6.4.1指定发行版配置文件191

6.4.2Poky中的发行版配置文件192

6.4.3发行版特性与实现199

6.5QEMU203

6.5.1QEMU简介203

6.5.2设置QEMU的运行环境204

6.5.3runqemu脚本204

第7章定制镜像菜谱与内核菜谱208

7.1定制镜像菜谱209

7.1.1搭建构建环境209

7.1.2创建自定义层210

7.1.3定制镜像菜谱的步骤211

7.1.4QEMU测试镜像214

7.2定制应用程序216

7.2.1HelloWorld应用程序216

7.2.2Yocto项目中的HelloWorld程序217

7.2.3使用QEMU测试HelloWorld程序219

7.3定制内核菜谱219

7.3.1Yocto项目的内核仓库220

7.3.2内核元数据225

7.3.3内核菜谱234

7.3.4内核配置239

7.3.5定制内核菜谱的步骤242

7.4定制内核树外模块245

7.4.1树外模块的基本原理246

7.4.2树外模块的安装与加载246

7.4.3定制customer.ko树外模块248

第8章树莓派启动定制镜像253

8.1树莓派简介254

8.1.1树莓派4B254

8.1.2树莓派与Yocto项目255

8.2构建和部署树莓派镜像256

8.2.1构建树莓派测试镜像256

8.2.2将镜像部署到SD卡261

8.2.3启动树莓派4B265

8.3meta-raspberrypi层266

8.3.1meta-raspberrypi层概述267

8.3.2层配置269

8.3.3硬件配置271

8.3.4内核配置274

8.3.5图形系统配置278

8.3.6硬件测试镜像菜谱279

8.4使用Wic工具创建分区镜像280

8.4.1Wic工具介绍280

8.4.2Kickstart文件284

8.4.3Wic插件286

8.4.4Wic工具的操作模式288

8.4.5树莓派的镜像分区290

8.4.6dd和bmaptool部署镜像293

第9章实战定制树莓派BSP层297

9.1创建与配置BSP层298

9.1.1定制BSP层的方法298

9.1.2创建meta-raspberrypi-custom层298

9.1.3定制机器配置文件300

9.2定制内核菜谱300

9.2.1内核配置301

9.2.2指定内核设备树文件302

9.2.3添加内核补丁303

9.3定制硬件启动配置菜谱306

9.3.1指定内核设备树文件307

9.3.2控制LED硬件行为308

9.4定制测试镜像菜谱310

9.4.1创建基础测试镜像菜谱311

9.4.2添加SSH服务311

9.4.3X11图形显示协议311

9.4.4启用Systemd系统管理器313

9.5定制分区镜像316

9.5.1定制Kickstart文件317

9.5.2重构并验证镜像318

9.5.3meta-raspberrypi-custom层的最终结构319

第10章软件开发工具包321

10.1软件开发工具包概述322

10.1.1SDK简介322

10.1.2获取和使用SDK安装包324

10.1.3SDK通用组件328

10.2可扩展SDK333

10.2.1可扩展SDK结构333

10.2.2定制可扩展SDK安装包336

10.2.3devtool命令行工具340

10.3标准SDK构建应用程序349

10.3.1定制应用程序349

10.3.2构建应用程序350

10.3.3部署与测试353

10.4可扩展SDK构建与部署355

10.4.1创建菜谱355

10.4.2构建与部署360

10.4.3测试与集成362

第11章进阶项目实战367

11.1搭建项目开发环境368

11.1.1硬件开发环境368

11.1.2软件开发环境370

11.2初始化构建环境378

11.2.1构建环境配置脚本379

11.2.2初始化构建环境381

11.3元数据结构385

11.3.1元数据层结构385

11.3.2镜像菜谱388

11.3.3内核392

11.3.4Bootloader398

11.4定制层与镜像403

11.4.1创建meta-imx-custom层403

11.4.2创建追加菜谱文件404

11.4.3集成Chromium浏览器405

11.4.4添加Systemd服务408

11.5构建镜像与部署验证412

11.5.1构建目标镜像412

11.5.2搭建部署环境414

11.5.3启动硬件与验证421

附录AYocto项目社区与支持渠道427

内容简介

本书从基础到高阶,系统化讲解Yocto项目的核心技术,涵盖Yocto项目概述、Linux系统架构、OpenEmbedded构建系统架构、元数据架构、BitBake、Poky核心组件、内核菜谱、BSP层定制、SDK开发等。结合大量实战示例,从QEMU、树莓派到NXP i.MX系列平台,循序渐进,帮助读者高效掌握Yocto项目的开发技能。

本书可作为嵌入式Linux系统开发人员、技术爱好者的自学或参考资料,也可作为高校或培训机构相关课程的教材。

推荐书籍