01
Yocto项目概述
Yocto是什么 · 为什么选择Yocto · 与Buildroot对比 · 核心组件介绍
概述选型
02
Yocto开发环境搭建
宿主机要求 · 安装软件包 · 配置Git/Repo · 下载Poky · 首次构建最小系统
环境Poky
03
BitBake构建系统
BitBake是什么 · 任务与依赖 · 元数据层 · .bb/.bbappend · 构建流程
BitBake构建
04
Yocto项目结构
Poky目录 · 元数据层 · machine/ · recipes-*/ · 构建输出tmp/
目录结构
05
OpenEmbedded构建系统
OE核心 · 层优先级 · 配方解析 · 全局/局部变量 · 覆盖机制
OE变量
06
Yocto内核配置基础
内核源码位置 · linux-yocto.bb · 配置片段(.cfg) · defconfig文件
内核配置
07
内核配置方法一:menuconfig
启动menuconfig · 保存配置 · 生成片段 · 片段合并机制
menuconfig交互
08
内核配置方法二:配置片段(.cfg)
创建片段 · 语法 · 优先级 · 调试技巧
.cfg管理
09
内核配置方法三:内核特性
什么是内核特性 · 标准/用户特性 · 继承与覆盖 · 配置示例
特性kernel features
10
内核配置方法四:设备树配置
.dts/.dtsi · 设备树覆盖 · Yocto中管理 · 编译与安装
设备树DTS
11
内核配方详解
linux-yocto.bb结构 · SRC_URI · 补丁管理 · 配置/构建任务
配方linux-yocto
12
内核补丁管理
补丁格式 · 应用顺序 · 与配置协同 · 调试 · 回退机制
补丁管理
13
内核模块管理
模块配方 · 自动加载 · 参数配置 · 依赖处理 · 签名与安全
模块驱动
14
内核配置与硬件适配
CPU架构 · 内存管理 · 驱动策略 · 外设示例 · 硬件加速
硬件适配
15
内核配置与文件系统
文件系统类型 · 块设备 · 网络文件系统 · 闪存 · overlayfs
文件系统存储
16
内核配置与网络
网络协议栈 · 驱动 · 无线 · 过滤/防火墙 · 调试工具
网络协议
17
内核配置与实时性
PREEMPT_RT · 实时选项 · 中断管理 · 定时器 · 性能调优
实时RT
18
内核配置与安全性
安全子系统 · LSM · SELinux/AppArmor · KASLR · 安全启动
安全LSM
19
内核配置与调试
调试选项 · printk/动态调试 · KGDB · ftrace · perf
调试perf
20
内核配置优化
裁剪原则 · 模块化 · 大小优化 · 启动时间 · 功耗优化
优化裁剪
21
Yocto启动流程概述
上电到用户空间 · 阶段划分 · 关键组件 · 时间分布 · 优化思路
启动流程
22
Bootloader阶段
U-Boot配置 · 配方 · 环境变量 · 启动参数 · 与内核交互
U-Bootbootloader
23
内核启动阶段一:解压与初始化
解压过程 · 架构初始化 · 内存 · 中断 · 控制台
解压初始化
24
内核启动阶段二:设备驱动初始化
设备树解析 · 驱动模型 · platform设备 · 探测顺序 · 驱动绑定
驱动设备树
25
内核启动阶段三:根文件系统挂载
initramfs · 根设备识别 · 挂载 · switch_root · init进程
根文件系统initramfs
26
系统初始化与systemd
systemd配置 · 单元文件 · 服务依赖 · target管理 · 启动性能分析
systemd初始化
27
启动日志分析
内核日志解析 · dmesg · 启动时间测量 · bootchart · 瓶颈定位
日志bootchart
28
自定义启动流程
修改内核参数 · 自定义initramfs · 挂载方式 · systemd服务 · 启动画面
自定义启动
29
Yocto内核与启动调试
启动失败原因 · 内核panic · initramfs调试 · 挂载失败 · 网络启动
调试故障
30
综合实战:从零构建定制化Linux系统
需求分析 · 硬件平台 · 内核配置定制 · 启动优化 · 系统集成测试
实战综合