Yocto 实战指南

🧩 嵌入式工程师必修 · 30章
Yocto是什么 为什么需要它 Poky/BitBake/OE
Linux主机准备 安装软件包 下载Yocto源码 Git & Repo
03
目录结构 meta层概念 core-image-minimal
工作原理 任务与依赖 bitbake/bitbake-layers
Recipe .bb Append .bbappend 配置文件 .conf 类 .bbclass
Hello World Recipe 添加自定义软件包
07
创建自定义Layer Layer优先级 bitbake-layers
构建Linux内核 defconfig/fragment 内核模块
设备树基础 Yocto集成 修改设备树
U-Boot集成 配置U-Boot 自定义补丁
BusyBox vs systemd 自定义根文件系统 添加用户和组
第三方库(OpenSSL/cURL) devtool修改源码 RPM/IPK/DEB
理解交叉编译 生成并部署工具链 SDK外部开发
populate_sdk SDK环境设置 交叉编译示例
15
修改local.conf IMAGE_FEATURES 自定义镜像Recipe
BitBake日志(log.do_*) 调试Recipe -D 常见错误排查
17
quilt管理补丁 Recipe应用补丁 创建/修改补丁
添加自定义任务 修改do_configure/compile 任务依赖控制
变量展开 Override语法 ?= ??= += .=
内置类(autotools/cmake/meson) 编写自定义类 继承机制
配置多个目标板 MACHINE变量 机器特定配置
ARM / x86 / RISC-V 架构特定优化(TUNE)
创建包组 IMAGE_INSTALL DISTRO_FEATURES
创建自定义发行版 默认设置 版本管理
自动化构建 Jenkins/GitLab CI sstate-cache
26
BB_NUMBER_THREADS PARALLEL_MAKE 减小镜像大小 预编译缓存
27
PIE/ASLR/Stack Protector cve-check 更新软件包
集成Docker/containerd 容器化嵌入式系统
Wi-Fi / 蓝牙 MQTT协议栈 完整系统
PREEMPT_RT实时内核 CAN总线 / Modbus