買這商品的人也買了...
-
深入淺出 Java 程式設計, 2/e (Head First Java, 2/e)$880$695 -
作業系統概念, 9/e (授權經銷版) (Operating System Concepts, 9/e)$850$808 -
圖說演算法 : 使用 Python$380$296 -
$600pytest 框架與自動化測試應用 -
測試架構師修煉之道:從測試工程師到測試架構師, 2/e$654$621 -
OAuth 2.0 從入門到實戰:利用驗證和授權守護 API 的安全$600$468 -
並行程序設計$414$393 -
演算法 圖解原理 x Python 實作 x 創意應用 王者歸來, 4/e$780$616 -
無瑕的程式碼 軟體工匠篇:程式設計師必須做到的紀律、標準與倫理 (Clean Craftsmanship: Disciplines, Standards, and Ethics)$720$562 -
$407用 ChatGPT 做軟件測試 -
$421自動化測試框架設計 -
程式設計原來不只有寫 CODE!銜接學校與職場的五堂軟體開發實習課 = Beyond Just Coding: Five Essential Lessons from Classroom to Career in Software Development$700$546 -
精通 Python 網路開發 (Mastering Python Networking, 4/e)$980$774 -
內行人才知道的系統設計面試指南 第二輯 (System Design Interview – An Insider's Guide: Volume 2)$820$648 -
LINUX虛擬化和雲計算實戰指南$594$564 -
全集中軟體測試:ISTQB CTFL 學習手冊$600$468
相關主題
商品描述
本書以當前流行的OpenBMC開源項目為例,介紹BMC軟件的開發流程和方法,以及服務器BMC的功能應用。全書分為三部分: 部分為 ~6章,介紹BMC固件開發基礎,具體包括服務器固件概述,BCM的主要功能、常用的硬件總線,如何運用IPMI協議,BCM常用的軟件通信協議、調試工具;第二部分為第7~15章,介紹BCM固件開發實戰,涉及OpenBCM基礎,D-Bus通信原理與使用方法,Boost Asio的使用方法,Yocto編譯系統與BMC工程原理,如何從零開始構建OpenBMC工程,OpenBMC如何添加傳感器、構建應用程序,OpenBMC的常用軟件模塊、前端界面開發等;第三部分為 6~18章,介紹BCM固件開發進階與展望,涵蓋服務器CPU與BMC、BMC在數據中心的主要應用以及BCM固件的技術發展趨勢。附錄部分則補充了開源項目和文檔以及BCM芯片的GPIO Number表。本書適合從事BCM固件開發的工程師、從事嵌入式軟件研究的計算機、電子信息專業的高校師生,以及希望了解BMC功能應用的數據中心運維人員等閱讀。
作者簡介
李哲 BMC 工程師,曾在中科曙光、聯想集團從事BMC軟件開發工作多年,有豐富的BMC軟件項目經驗,發表BMC軟件相關專利三篇,軟著兩篇。
目錄大綱
推薦序
前言
致謝
第一部分 BMC固件開發基礎
第1章 服務器固件介紹 2
1.1 BIOS固件 3
1.2 BMC固件 4
1.3 CPLD/FPGA固件 4
1.4 控制器固件 5
1.5 閉源商用BMC固件介紹 5
第2章 BMC功能介紹 7
2.1 BMC芯片與DC-SCM 7
2.1.1 BMC芯片 7
2.1.2 DC-SCM 8
2.2 KVM 10
2.3 虛擬媒體掛載 11
2.4 服務器電源控制 12
2.5 風扇調速 14
2.5.1 PID調速算法 14
2.5.2 梯度調速算法 15
2.6 固件更新、保存配置與恢覆
出廠設置 15
2.6.1 固件更新 15
2.6.2 保存配置 16
2.6.3 恢覆出廠設置 16
2.7 網絡設置 16
2.8 用戶管理與安全 17
2.8.1 用戶與用戶權限 17
2.8.2 LDAP 18
2.8.3 BMC安全特性 20
2.9 日誌記錄 22
2.10 BMC時間設置 23
2.11 存儲設備管理 23
2.12 BMC看門狗功能 25
2.12.1 BMC的看門狗 25
2.12.2 服務器系統的看門狗 26
2.13 電源設備管理 27
2.13.1 電源冗余備份 27
2.13.2 電源固件升級 28
第3章 BMC常用的硬件總線 29
3.1 I2C與I3C 29
3.1.1 I2C 29
3.1.2 I3C 31
3.2 BMC的網絡通信 32
3.3 LPC與ESPI 33
3.4 UART 34
3.5 USB 35
3.6 PCIe 36
3.7 GPIO 37
3.8 ADC 38
3.9 SPI 39
3.10 JTAG 40
3.11 VGA共享內存 41
第4章 BMC與IPMI協議 42
4.1 IPMI消息 42
4.2 SDR與傳感器 45
4.2.1 傳感器讀值轉換 45
4.2.2 傳感器類型與事件讀取
類型 46
4.2.3 傳感器數據記錄 47
4.3 SEL 49
4.3.1 SEL日誌記錄ID 49
4.3.2 SEL的記錄格式 50
4.3.3 常用的SEL命令 51
4.4 IPMI LAN及SOL 52
4.4.1 IPMI LAN 52
4.4.2 SOL 53
4.5 IPMI平臺事件過濾 54
4.6 常用的IPMI接口 55
4.6.1 KCS 55
4.6.2 SSIF 56
4.6.3 IPMB 57
4.7 FRU 58
第5章 BMC常用的軟件通信
協議 59
5.1 Redfish協議 59
5.2 MCTP 65
5.2.1 MCTP over I2C 66
5.2.2 MCTP over PCIe 67
5.3 SNMP 69
5.3.1 SNMP簡介 69
5.3.2 SNMP功能實現 70
5.4 PLDM協議 73
第6章 BMC常用的調試工具 75
6.1 curl 75
6.2 lsof 76
6.3 objdump 77
6.4 netstat 79
6.5 GDB與棧回溯 79
6.6 ipmitool 82
第二部分 BMC固件開發實戰
之OpenBMC
第7章 OpenBMC基礎 86
7.1 OpenBMC總體介紹 86
7.2 OpenBMC開發環境準備 87
7.3 OpenBMC中的systemd 88
第8章 D-Bus通信的原理與使用
方法 92
8.1 D-Bus通信簡介 92
8.2 D-Bus使用與調試 95
第9章 Boost. Asio的使用方法 97
9.1 Boost.Asio簡介 97
9.2 Boost.Asio的用法 98
第10章 Yocto編譯系統與BMC
工程管理 102
10.1 Yocto項目介紹 102
10.2 Yocto編譯系統使用 104
10.3 軟件包的編譯 107
10.4 BMC工程管理 110
第11章 從零開始構建OpenBMC
工程 112
11.1 創建meta layer 112
11.2 配置硬件特性 114
11.3 添加應用程序 120
第12章 OpenBMC如何添加
傳感器 123
12.1 添加閾值型傳感器 123
12.1.1 phosphor-hwmon
方式 124
12.1.2 Entity-Managers +
dbus-sensors方式 126
12.2 添加離散型傳感器 126
12.3 添加IPMI傳感器 128
12.3.1 添加IPMI SDR 129
12.3.2 添加IPMI SEL
配置 130
第13章 OpenBMC如何構建應用
程序 131
13.1 編寫配方文件 131
13.2 編寫service文件 133
13.3 應用程序的設計 134
第14章 OpenBMC常用軟件模塊
介紹 138
14.1 sdbusplus與phosphor-dbus-interfaces 138
14.2 phosphor-objmgr 139
14.3 bmcweb 140
14.4 obmc_ikvm 141
14.5 jsnbd 142
14.6 ipmid 143
14.7 服務器開關機控制 146
第15章 OpenBMC前端界面開發 147
15.1 Vue框架介紹與環境搭建 147
15.2 webui-vue源碼目錄 149
15.3 添加功能頁面 151
15.4 支持中文顯示 155
15.5 添加圖標 156
第三部分 BMC固件開發
進階與展望
第16章 服務器CPU與BMC 160
16.1 主流服務器CPU 160
16.1.1 Intel 161
16.1.2 AMD 162
16.1.3 ARM 162
16.1.4 國產CPU 163
16.2 RAS功能 164
16.2.1 x86架構RAS 165
16.2.2 RAS故障處理 165
16.3 CPU遠程調試 166
第17章 BMC在數據中心的主要
應用 168
17.1 常用的服務器機型 168
17.2 BMC在數據中心的應用
場景 169
第18章 BMC固件技術的發展趨勢 172
18.1 BMC固件技術與服務器重要
部件緊密結合 172
18.2 BMC固件開源勢不可擋 173
18.3 BMC固件安全性日益受到
重視 174
18.4 BMC固件與人工智能技術
相結合 175
附 錄
附錄A 開源項目及文檔 178
附錄B BMC芯片GPIO
Number表 180
