📘 Yocto 实用手册
30章
⚡ 嵌入式Linux · 从入门到实战
01
Yocto项目概述
Yocto是什么
为什么选择Yocto
与传统构建方式对比
核心组件:Poky, BitBake, OpenEmbedded
02
开发环境搭建
主机系统要求
安装必要软件包
配置Git和Repo
下载Yocto源码 · 首次构建最小系统
03
BitBake深度解析
BitBake是什么
语法基础
任务与依赖
变量展开机制 · Python/Shell函数
04
Recipe编写入门
Recipe文件结构
LICENSE / LIC_FILES_CHKSUM
SRC_URI详解
do_fetch ~ do_install 任务
05
Layer机制详解
Layer是什么 · 为什么分层
创建自己的Layer
优先级与覆盖
bbappend · Layer依赖管理
06
机器配置与BSP
Machine配置文件
Kernel & U-Boot Recipe
设备树集成
自定义BSP Layer
07
镜像与包管理
自定义镜像 · IMAGE_INSTALL
包管理器 RPM/IPK/DEB
创建自己的包 · 版本控制
08
内核配置与定制
内核Recipe结构
配置片段 · 补丁管理
内核模块构建 · 设备树定制
09
文件系统构建
根文件系统结构
BusyBox vs systemd
自定义内容 · 只读文件系统
OverlayFS与数据持久化
10
交叉编译工具链
工具链组成
SDK生成与安装
独立开发 · 环境变量
sysroot作用
11
调试与日志
BitBake日志系统
构建失败排查
devshell / devpyshell
任务重跑 · 常用调试变量
12
Yocto中的Python
Python Recipe编写
模块依赖管理
setuptools与pip集成
应用打包 · 版本选择
13
C/C++应用
Autotools Recipe
CMake Recipe
Makefile Recipe
库构建 · 头文件与依赖
14
Yocto中的Qt/QML
Qt5/Qt6 Recipe
Qt模块选择
QML插件构建
触摸屏 · 显示配置 · 部署
15
Yocto中的GStreamer
GStreamer框架概述
Recipe · 插件选择
硬件编解码加速
多媒体应用集成
16
网络与通信
网络协议栈配置
Wi-Fi / 蓝牙支持
MQTT/HTTP客户端
connman · NetworkManager
17
安全机制
安全启动 · TPM支持
SELinux/AppArmor
包签名与验证
CVE检查
18
实时性优化
PREEMPT_RT内核
实时任务调度
中断延迟优化
CPU隔离 · 实时性能测试
19
容器支持
Docker/Containerd集成
容器运行时配置
镜像构建 · Podman
容器化应用部署
20
OTA升级
SWUpdate框架
OSTree集成
双分区升级策略
增量升级 · 回滚机制
21
测试框架
ptest机制
自动化测试 oe-selftest
QEMU测试 · 硬件测试
测试覆盖率分析
22
国际化与本地化
locale支持 · 字体输入法
时区配置
多语言应用打包
字符编码处理
23
性能优化
构建速度优化 (SSTATE_CACHE)
镜像大小优化
启动时间 · 内存占用
功耗优化
24
图形与显示
DRM/KMS框架
Wayland vs X11
GPU驱动集成
帧缓冲 · 多屏显示
25
音频与ALSA
ALSA架构
音频驱动集成
PulseAudio/PipeWire
音频路由 · 测试工具
26
存储与文件系统
UBIFS · JFFS2
ext4 · btrfs
RAID/LVM · NFS挂载
eMMC分区管理
27
电源管理
CPU调频 cpufreq
挂起与休眠
电源管理IC驱动
电池管理 · 功耗测量
28
虚拟化
KVM/QEMU集成
Xen支持
虚拟化网络配置
存储 · 混合关键性系统
29
项目实战 (一)
Raspberry Pi 4 完整系统
BSP · 内核 · 文件系统
应用层构建
30
项目实战 (二)
i.MX8M Mini 完整系统
BSP · 内核 · 文件系统
应用层 · OTA升级
⚡ 点击卡片跳转至对应章节 · 友好色系