01
课程导学与环境准备
rootfs概念解析 · 自动化管理价值 · 开发环境搭建(虚拟机、交叉编译链、QEMU)
导学环境
02
Busybox初探
Busybox是什么 · 下载与编译 · 生成最小根文件系统
核心工具最小系统
03
构建目录骨架
Linux根目录标准结构(FHS)· 手动创建关键目录 · 自动化脚本实现
FHS脚本
04
设备节点管理
/dev目录详解 · 静态与动态设备节点 · mdev/udev配置
设备mdev
05
初始化进程配置
/sbin/init · /etc/inittab文件详解 · 启动流程控制
initinittab
06
系统配置文件
/etc/fstab · /etc/hosts · /etc/hostname · /etc/resolv.conf等配置
网络存储
07
用户与权限管理
/etc/passwd · /etc/shadow · /etc/group文件生成 · 用户添加脚本
安全账户
08
Shell环境配置
/etc/profile · /etc/bash.bashrc · 环境变量设置
Shell环境变量
09
服务管理脚本
SysVinit风格启动脚本编写 · /etc/init.d/目录结构
服务SysV
10
网络配置
ifconfig/ip命令 · /etc/network/interfaces配置 · DHCP客户端
网络DHCP
11
软件包管理基础
ipkg/opkg包管理器介绍 · 离线安装与依赖处理
包管理opkg
12
构建自动化脚本框架
Shell脚本设计模式 · 函数库封装 · 错误处理机制
脚本框架
13
配置文件模板化
sed/awk用法 · 模板引擎实现 · 变量替换
模板sed
14
日志系统构建
syslogd配置 · logrotate轮转 · 日志分析脚本
日志syslog
15
启动优化
Bootchart分析 · 并行启动服务 · 减少不必要的服务
性能Bootchart
16
文件系统镜像制作
ext4 · squashfs · jffs2格式对比 · mke2fs/mksquashfs使用
镜像squashfs
17
NFS根文件系统
NFS服务器搭建 · 内核NFS支持 · 调试利器
NFS调试
18
Initramfs技术
initramfs原理 · 制作最小initramfs · 内核集成
initramfs内核
19
OverlayFS与只读根
OverlayFS原理 · 只读根+可写层方案 · OTA升级基础
OverlayOTA
20
安全加固
文件权限最小化 · 去除SUID · SELinux/AppArmor基础配置
安全SELinux
21
调试与排错
串口控制台 · strace追踪 · gdbserver远程调试
调试strace
22
性能监控
top/htop · vmstat · iostat · perf工具集成
监控perf
23
自定义应用集成
将自研程序加入rootfs · 库依赖处理 · strip瘦身
集成strip
24
多架构支持
ARM · MIPS · RISC-V交叉编译 · QEMU用户态模拟
交叉编译QEMU
25
持续集成
GitLab CI/GitHub Actions自动化构建rootfs
CI自动化
26
容器化rootfs
Dockerfile构建 · 与Yocto/Buildroot对比
Docker容器
27
Yocto项目集成
BitBake配方编写 · 自定义layer · 生成rootfs
YoctoBitBake
28
Buildroot深度使用
配置菜单 · 外部工具链 · 后构建脚本
Buildroot工具链
29
大规模部署
工厂烧录 · 空中升级(OTA) · 版本回滚策略
部署OTA
30
综合实战:智能网关rootfs
从零构建完整网关rootfs(含Web界面、MQTT、数据采集)
实战网关