VIP20
本课程属于:007-Yocto配方 启动链与BSP系统构建 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录 咨询 / 购买

Yocto根文件系统定制与镜像瘦身

📚 共计 30 章节
第1章
Yocto初探
什么是Yocto项目?核心组件:BitBake、OpenEmbedded-Core、Metadata介绍。
概念入门
第2章
搭建Yocto开发环境
宿主机要求、安装必要软件包、配置Git与Repo、下载Poky源码。
环境工具链
第3章
理解Yocto构建流程
从源码到镜像的完整过程、BitBake任务调度、共享状态缓存(sstate-cache)原理。
构建缓存
第4章
初识BitBake
BitBake基本概念(Recipe、Layer、Configuration),编写第一个Hello World Recipe。
BitBakeRecipe
第5章
Recipe深入解析
Recipe文件结构、SRC_URI详解、do_fetch/unpack/patch/configure/compile/install任务。
任务变量
第6章
Layer机制
Layer概念与作用、创建自定义Layer、优先级与依赖、使用meta-openembedded扩展。
Layer复用
第7章
配置与变量
local.conf详解、distro配置、machine配置、常用全局变量(PREFERRED_PROVIDER, IMAGE_INSTALL等)。
配置变量
第8章
构建最小文件系统
使用core-image-minimal、理解构建产物(tmp/deploy/images)、启动QEMU验证。
最小系统QEMU
第9章
定制文件系统内容(上)
IMAGE_INSTALL添加包、IMAGE_FEATURES特性、PACKAGE_EXCLUDE排除包。
定制包管理
第10章
定制文件系统内容(下)
使用append文件修改Recipe、创建自定义包组(packagegroup)、添加用户与组。
appendpackagegroup
第11章
镜像类型与格式
ext4、squashfs、cpio、tar、wic等格式介绍,IMAGE_FSTYPES变量配置。
格式IMAGE_FSTYPES
第12章
WIC工具与分区布局
WIC(OpenEmbedded Image Creator)原理、编写.wks分区文件、定制分区大小与文件系统。
WIC分区
第13章
镜像裁剪策略(上)
分析镜像大小构成、使用bitbake -s查看包依赖、移除不必要的语言支持与文档。
裁剪依赖
第14章
镜像裁剪策略(下)
使用PACKAGECONFIG裁剪功能、DISTRO_FEATURES裁剪系统特性、busybox替代coreutils。
PACKAGECONFIGbusybox
第15章
包管理系统选择
IPK、DEB、RPM对比、IMAGE_PKGTYPE选择、离线包管理、只读根文件系统配置。
包格式只读
第16章
Init系统选择
SysVinit vs Systemd、IMAGE_INIT_MANAGER配置、自定义启动脚本、减少启动时间。
initsystemd
第17章
C库裁剪
glibc vs musl vs uclibc-ng、TCLIBC变量配置、兼容性测试与性能对比。
C库musl
第18章
工具链与交叉编译
交叉编译工具链、meta-toolchain与meta-ide-support、SDK生成与使用。
SDK交叉编译
第19章
添加第三方软件
集成开源库(OpenSSL、cURL)、使用devtool辅助开发、创建自己的Recipe。
第三方devtool
第20章
内核配置与裁剪
Linux内核源码结构、menuconfig配置内核、内核Recipe定制、设备树管理。
内核menuconfig
第21章
设备驱动集成
内核模块与built-in驱动、KERNEL_MODULE_AUTOLOAD、设备树Overlay、udev规则。
驱动设备树
第22章
文件系统只读与OverlayFS
只读根文件系统优势、OverlayFS原理、实现数据持久化分区、工厂重置方案。
OverlayFS只读
第23章
安全加固
用户权限管理、SELinux/AppArmor集成、安全启动(Secure Boot)、签名与校验。
安全SELinux
第24章
调试与日志
bitbake -v调试、log.do_*日志、oe-pkgdata-util分析包、QEMU调试内核。
调试日志
第25章
性能优化
构建速度优化(BB_NUMBER_THREADS、PARALLEL_MAKE、sstate-cache)、镜像大小、启动时间优化。
性能并行
第26章
版本管理与持续集成
Yocto版本发布策略、Git管理Layer、CI/CD集成(Jenkins/GitLab CI)、自动构建与测试。
CI/CDGit
第27章
实战项目一:IoT网关
构建最小化IoT网关镜像,仅保留网络、MQTT、WebServer。
实战IoT
第28章
实战项目二:QT图形系统
构建带QT图形界面的嵌入式Linux系统。
实战QT
第29章
实战项目三:实时Linux
构建实时Linux系统(PREEMPT_RT补丁、实时应用配置)。
实战RT
第30章
常见问题与排错
常见构建错误及解决方案、网络问题、版本兼容性、社区资源与求助渠道。
排错FAQ