01
RMC固件概述
什么是RMC固件 · 服务器管理作用 · 开发环境概览
概念入门
02
硬件准备
RMC开发板 · 串口/网线连接 · 电源与JTAG调试器
硬件调试
03
Linux开发机搭建
Ubuntu 20.04 LTS · 虚拟机配置 · SSH远程访问
环境虚拟机
04
交叉编译工具链安装
ARM GCC下载安装 · 环境变量 · 验证工具链
工具链编译
05
RMC SDK获取与解压
官方仓库获取 · 目录结构 · 解压与权限
SDK源码
06
U-Boot编译与烧录
源码获取 · 默认配置 · 编译u-boot.bin · JTAG烧录
Bootloader烧录
07
Linux内核编译
内核源码 · 设备树配置 · 编译内核与模块 · zImage
内核设备树
08
根文件系统制作
BusyBox最小系统 · /dev /proc /sys · 编译安装
文件系统BusyBox
09
文件系统打包与烧录
UBIFS/initramfs · 烧录至Flash · 验证启动
镜像烧录
10
OpenBMC简介
项目背景 · 与RMC关系 · 源码仓库克隆
OpenBMC概述
11
OpenBMC开发环境搭建
依赖包安装 · repo工具 · 同步源码
环境repo
12
OpenBMC首次编译
目标平台设置 · bitbake编译 · 常见错误解决
编译bitbake
13
Yocto Project基础
Layer/Recipe/Class · BitBake任务 · RMC Layer
Yocto概念
14
Recipe编写入门
自定义Layer · hello-world Recipe · 添加至镜像
Recipe实战
15
设备树 (Device Tree) 基础
DTS语法 · GPIO/I2C/SPI描述 · 编译DTB
DTS硬件
16
RMC GPIO驱动开发
GPIO子系统 · 控制应用程序 · sysfs测试
驱动GPIO
17
I2C总线驱动开发
I2C子系统 · LM75传感器 · 用户空间读写工具
I2C传感器
18
SPI Flash驱动与访问
SPI控制器 · mtd-utils · 分区表配置
SPIFlash
19
网络协议栈与IPMI
IPMI协议 · LAN接口 · ipmitool命令
网络IPMI
20
KCS接口与BT接口
KCS原理 · BT配置 · Host-BMC通信示例
接口通信
21
SEL日志系统
事件日志格式 · 存储读取 · ipmitool查看SEL
日志SEL
22
FRU信息管理
FRU数据结构 · 读取解析 · IPMI更新FRU
FRU管理
23
传感器监控与阈值设置
温度/电压/风扇采集 · 阈值设置 · 告警机制
监控阈值
24
风扇控制策略
PID控制 · PWM调速 · 自定义策略
风扇控制
25
固件升级机制
TFTP升级 · WebUI升级 · 双镜像回滚
升级备份
26
调试工具与技巧
OpenOCD · 串口日志 · KGDB内核调试
调试工具
27
性能优化
启动优化Bootchart · 内存优化 · 文件系统裁剪
优化性能
28
安全机制
Secure Boot · TPM集成 · IPMI权限管理
安全启动
29
RMC固件测试
CUnit单元测试 · QEMU集成测试 · 压力脚本
测试质量
30
项目实战
从零搭建RMC固件 · 集成模块 · 验证与文档
实战综合