🧩 Yocto 嵌入式发行版
从零打造 · 30 章完全实战
🌟
风格 · 轻松入门
第 1 章
🔍
Yocto初探
什么是Yocto
为什么选择Yocto
与传统构建对比
核心组件概览
第 2 章
🛠️
环境搭建
宿主机要求
安装必要软件
配置Git/Repo
下载Yocto源码
首次构建检查
第 3 章
📦
理解Poky
Poky是什么
目录结构
meta层作用
选择Poky版本
第一个Poky构建
第 4 章
⚙️
BitBake入门
BitBake是什么
工作流程
.bb/.bbclass
任务概念
依赖解析
第 5 章
📜
Recipe编写基础
Recipe结构
SRC_URI详解
LICENSE
inherit机制
常用变量
第 6 章
🧬
元数据深入
变量展开
Override语法
条件赋值
弱/强赋值
Python函数
第 7 章
🧩
Layer管理
Layer概念
创建自己的Layer
优先级
bblayers.conf
最佳实践
第 8 章
💻
机器配置
Machine配置文件
MACHINE变量
内核/设备树
串口终端
踩坑经历
第 9 章
🎛️
发行版配置
Distro文件
DISTRO变量
发行版特性
自定义发行版
选择基础发行版
第 10 章
🐧
内核构建
内核Recipe
defconfig
内核模块
设备树编译
调试技巧
第 11 章
📁
文件系统构建
根文件系统
IMAGE_INSTALL
包管理器
大小优化
最小文件系统
第 12 章
📦
包管理
RPM/DEB/IPK
包生成安装
版本管理
依赖处理
偏爱IPK
第 13 章
🖼️
镜像定制
Image Recipe
自定义安装包
后处理脚本
预安装脚本
生成镜像
第 14 章
🧰
SDK生成
交叉编译链
SDK组成
标准SDK
eSDK
安装与使用
第 15 章
⚡
Devtool实战
Devtool是什么
工作流
修改源码打包
升级Recipe
日常习惯
第 16 章
🐞
调试与日志
BitBake日志
调试输出
任务失败排查
依赖问题
经典失败案例
第 17 章
🚀
性能优化
Shared State
并行编译
预编译二进制
减少构建时间
优化清单
第 18 章
🌐
网络与代理
源码获取策略
PREMIRROR
代理设置
离线构建
内网实践
第 19 章
🔒
安全加固
安全特性
签名校验
CVE扫描
安全启动
安全审计
第 20 章
🧪
测试框架
Oe-selftest
测试用例
自动化测试
镜像测试
CI集成
第 21 章
🔌
BSP开发
BSP Layer
板级支持包
引导加载器
外设驱动
从零写BSP
第 22 章
🦾
U-Boot集成
U-Boot Recipe
配置
环境变量
启动参数
调试方法
第 23 章
⚙️
系统服务管理
Systemd集成
服务Recipe
开机自启
日志管理
SysVinit替换
第 24 章
🖥️
图形与显示
X11/Wayland
GPU驱动
Qt/GTK交叉编译
帧缓冲
GUI选型
第 25 章
📶
网络功能
协议栈配置
Wi-Fi/蓝牙
网络管理
防火墙
IoT优化
第 26 章
💾
存储与分区
存储管理
分区方案
文件系统选择
只读文件系统
OTA存储考虑
第 27 章
⏱️
实时性增强
PREEMPT_RT
实时内核
优先级管理
延迟测试
工业控制
第 28 章
🐳
容器支持
Docker/Containerd
运行时配置
镜像管理
资源隔离
边缘计算
第 29 章
🔄
版本升级
迁移策略
Recipe升级
兼容性检查
迁移脚本
三大版本经验
第 30 章
🏁
综合实战
需求分析
架构设计
Layer规划
构建调试
最终发行版
课程总结