联系我们

课程大纲

1. Coreboot简介

  • 什么是Coreboot?
  • BIOS、UEFI与Coreboot对比
  • Coreboot架构与设计原则
  • 开源固件的优势与局限性
  • 支持的平台及硬件兼容性

2. Coreboot入门

  • 搭建开发环境
  • 安装所需工具与依赖项
  • 探索Coreboot源代码仓库
  • 理解构建流程
  • 了解文档与社区资源

3. 理解Coreboot源码树

  • 目录结构与项目组织
  • 主要配置文件
  • 板级特定实现
  • 主板、芯片组、CPU及SoC支持情况
  • 使用Kconfig和menuconfig进行配置

4. 配置与构建Coreboot

  • 选择目标平台
  • 配置固件选项
  • Payload的选择与配置
  • 构建Coreboot镜像
  • 验证构建输出结果
  • 固件配置的最佳实践

5. 使用QEMU测试Coreboot

  • 固件模拟简介
  • 在QEMU中运行Coreboot
  • 验证启动流程
  • 调试启动问题
  • 安全地测试配置变更

6. 固件组件与启动过程

  • Coreboot初始化阶段
  • ROM阶段
  • RAM阶段
  • 资源分配
  • Payload加载
  • 启动流程概述
  • 理解CBFS(Coreboot文件系统)

7. Payload与引导加载程序

  • 什么是Payload?
  • SeaBIOS
  • U-Boot
  • Tianocore/EDK II概述
  • 选择合适的Payload
  • 使用Coreboot引导操作系统

8. Coreboot的实际应用

  • Coreboot与ChromeOS
  • 嵌入式系统应用场景
  • 服务器与工作站的用例
  • 安全优势
  • 性能考量
  • 固件更新策略

9. 故障排除与调试

  • 阅读Coreboot日志
  • 串行控制台调试
  • 常见构建错误
  • 硬件兼容性问题
  • 从失败的固件刷写中恢复
  • 有用的调试工具与技术

10. 动手实验与总结

  • 构建Coreboot镜像
  • 在QEMU中测试固件
  • 修改基本配置
  • 探索启动日志
  • 关键概念回顾
  • 问答环节
  • 后续步骤与额外学习资源

要求

  • 具备计算机固件知识

受众

  • 开发人员
  • 计算机程序员
 7 小时

即将举行的公开课程

课程分类