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