聯繫我們

課程簡介

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 File System)

7. Payloads 與 Bootloaders

  • Payloads 是什麼?
  • SeaBIOS
  • U-Boot
  • Tianocore/EDK II 概覽
  • 選取適當的 Payload
  • 使用 Coreboot 開機作業系統

8. Coreboot 實務應用

  • Coreboot 與 ChromeOS
  • 嵌入式系統應用
  • 伺服器與工作站使用案例
  • 安全優勢
  • 效能考量
  • 韌體更新策略

9. 問題排除與除錯

  • 閱讀 Coreboot 日誌
  • 序列控制台除錯
  • 常見建構錯誤
  • 硬體相容性問題
  • 從失敗的韌體燒錄中恢復
  • 實用的除錯工具與技巧

10. 動手實驗室與總結

  • 建構 Coreboot 映像檔
  • 在 QEMU 中測試韌體
  • 修改基本配置
  • 探索開機日誌
  • 關鍵概念複習
  • 問答環節
  • 後續步驟與額外學習資源

最低要求

  • 具備計算機韌體相關知識

適用對象

  • 開發人員
  • 計算機程序員
 7 小時

課程分類