01
Rootfs可靠性概述
什么是Rootfs · 为什么Rootfs会损坏 · 可靠性设计的核心目标
基础概念
02
升级方案总览
双分区方案 · 单分区+恢复方案 · OTA升级流程概览
架构总览
03
双分区AB系统原理
A/B分区切换逻辑 · active/inactive标记 · bootloader的角色
AB系统原理
04
双分区AB系统实现
分区表设计 · 内核cmdline传递 · rootfs挂载策略
实现分区
05
双分区AB系统升级流程
下载升级包 · 写入inactive分区 · 校验完整性 · 切换active标记
升级流程
06
双分区AB系统回滚机制
升级失败自动回滚 · 手动触发回滚 · 回滚次数限制
回滚容错
07
单分区+恢复系统架构
recovery分区设计 · recovery内核与rootfs · 主系统与恢复系统切换
恢复架构
08
单分区+恢复系统升级流程
进入recovery模式 · 挂载升级包 · 刷写主系统分区
升级recovery
09
单分区+恢复系统回滚机制
备份当前系统 · 恢复出厂设置 · 从recovery恢复备份
回滚备份
10
校验机制
checksum校验 · 签名校验 · hash校验 · 校验失败处理策略
校验安全
11
原子性操作
写操作的原子性 · 断电保护 · 文件系统日志(journal)的作用
原子性断电
12
文件系统选择
ext4 vs squashfs vs ubifs vs f2fs · 可靠性对比分析
文件系统对比
13
只读文件系统
squashfs使用场景 · overlayfs实现可写层 · overlayfs可靠性问题
只读overlay
14
写保护策略
硬件写保护(WP引脚) · 软件写保护(mount -o ro) · efuse保护
保护硬件
15
坏块管理
NAND Flash坏块问题 · UBIFS坏块处理 · MLC/TLC可靠性挑战
坏块NAND
16
升级包设计
全量包 vs 差分包 · 差分算法(bsdiff、xdelta) · 差分包的可靠性
差分OTA
17
升级包签名与验证
公钥基础设施(PKI) · 签名生成 · 验签流程 · 防篡改机制
签名安全
18
升级过程中的断电保护
升级前备份关键数据 · 升级中状态记录 · 升级后一致性检查
断电保护
19
升级失败后的自救策略
进入recovery模式 · 网络救援 · USB刷机模式
自救救援
20
多副本策略
关键文件多副本存储 · 副本一致性检查 · 副本修复机制
副本冗余
21
RAID在嵌入式中的应用
软件RAID1 · RAID5在rootfs中的可行性 · 性能与可靠性权衡
RAID存储
22
硬件辅助可靠性
eMMC可靠特性(RPMB、增强分区) · 硬件看门狗 · 电源管理
硬件eMMC
23
启动加载器(bootloader)的可靠性
bootloader双备份 · bootloader升级保护 · bootloader校验
bootloader启动
24
内核与设备树的可靠性
内核镜像校验 · 设备树校验 · 内核panic后的恢复机制
内核设备树
25
用户态守护进程
升级守护进程(update_engine) · 健康检查守护进程 · 自动恢复触发
守护进程监控
26
日志与监控
升级日志记录 · 系统健康日志 · 远程监控与告警
日志监控
27
测试策略
升级测试 · 断电测试 · 坏块模拟测试 · 长时间稳定性测试
测试质量
28
案例分析
嵌入式设备升级变砖案例分析 · 车载系统AB系统成功案例
案例实战
29
行业标准与规范
IEC 62304(医疗) · ISO 26262(汽车) · MISRA C在升级中的应用
标准合规
30
未来趋势
容器化rootfs · 不可变基础设施 · 安全启动与可信执行环境(TEE)
趋势容器