VIP20
本课程属于:029-Yocto与OpenEmbedded BSP构建 嵌入式与底层系统 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录 咨询 / 购买

Yocto实战:从镜像裁剪到发布

📚 共计 30 章节
01
Yocto项目概述
Yocto是什么、为什么选择Yocto、与Buildroot/OpenEmbedded关系、核心组件(BitBake, OE-Core, Poky)
概念生态
02
开发环境搭建
宿主机要求、安装软件包、配置Git/Repo、下载Poky、首次构建core-image-minimal
环境构建
03
理解Yocto目录结构
Poky目录剖析、meta层结构、conf目录、recipes-example、构建输出tmp/deploy
目录结构
04
BitBake基础
BitBake任务与依赖、.bb/.bbclass/.inc文件、常用命令(bitbake, bitbake-layers, devtool)
BitBake命令
05
元数据(Metadata)详解
配方结构、变量(PV,PN,PR,S,D,FILES)、继承(inherit)、函数(do_compile, do_install)
元数据变量
06
创建第一个配方
编写helloworld.bb、LICENSE/LIC_FILES_CHKSUM、SRC_URI、do_compile/do_install、构建验证
配方实战
07
层(Layer)管理
层的作用、创建自定义层meta-mylayer、layer.conf、BBLAYERS、优先级BBFILE_PRIORITY
层管理
08
镜像定制基础
local.conf、IMAGE_INSTALL、PACKAGE_CLASSES、MACHINE、DISTRO配置
镜像配置
09
镜像裁剪实战(上)
分析core-image-minimal、bitbake -g依赖图、移除多余包、IMAGE_FEATURES控制特性
裁剪依赖
10
镜像裁剪实战(下)
IMAGE_INSTALL_append、PACKAGE_EXCLUDE、优化rootfs、ROOTFS_POSTPROCESS_COMMAND
裁剪rootfs
11
添加软件包到镜像
OE索引查找包、添加ssh/vim/htop、添加openssl/curl、验证安装
软件包集成
12
内核配置与定制
linux-yocto配方、menuconfig、内核配置片段(.cfg)、内核模块、自定义内核构建
内核配置
13
设备树(Device Tree)定制
设备树基础、Yocto中管理、添加自定义设备树、修改内核设备树、编译部署
设备树硬件
14
U-Boot定制
U-Boot配方、defconfig配置、添加补丁、修改环境变量、构建烧录
U-Boot启动
15
文件系统定制
根文件系统结构、ROOTFS_POSTPROCESS_COMMAND、/etc/inittab、网络服务、启动脚本
文件系统定制
16
包管理系统
IPK/DEB/RPM格式、PACKAGE_CLASSES、opkg/dpkg/rpm、本地包仓库
包管理格式
17
SDK与交叉编译工具链
生成SDK(populate_sdk)、安装SDK、交叉编译器、CMake/Makefile交叉编译
SDK交叉编译
18
devtool实战
devtool简介、add添加外部源码、modify修改配方、upgrade升级、finish提交
devtool工作流
19
补丁管理
quilt管理补丁、创建/应用补丁、SRC_URI补丁语法、优先级与顺序
补丁quilt
20
变量与覆盖机制
立即/延迟变量、_append/_prepend/_remove、OVERRIDES、变量扩展${}、弱赋值??=
变量覆盖
21
任务(Task)扩展
任务依赖链、addtask自定义任务、do_install_append、before/after前置条件
任务扩展
22
类(Class)编写
自定义.bbclass、继承与使用、autotools/cmake/update-rc.d、类变量与函数
类继承
23
多机器(MACHINE)支持
配置多个MACHINE、MACHINE_OVERRIDES、机器特定配方/配置、多目标构建
多机器MACHINE
24
多发行版(DISTRO)支持
自定义发行版、DISTRO_FEATURES、发行版配置文件、特定配方、切换发行版
发行版DISTRO
25
Yocto调试技巧
BB_LOGCONFIG、bitbake -D调试、log.do_*日志、bitbake-diffsigs、常见错误排查
调试日志
26
性能优化
BB_NUMBER_THREADS/PARALLEL_MAKE、SSTATE_DIR共享缓存、DL_DIR、PR服务器、增量构建
性能缓存
27
安全加固
SECURITY_CFLAGS、cve-check漏洞检查、PACKAGECONFIG安全选项、sign_rpm、selinux
安全CVE
28
测试与验证
ptest运行测试、testimage自动化、qemu模拟、自定义测试用例、CI/CD集成
测试CI
29
发布与部署
可烧录镜像(wic/hddimg/iso)、wic工具分区、SWU更新包、OTA策略、生产发布
发布部署
30
综合实战项目
从零构建IoT网关镜像、需求分析、层设计、配方编写、镜像裁剪、内核定制、测试验证、发布包
实战IoT