Yocto項目實戰教程:高效定製嵌入式Linux系統

孫傑

  • 出版商: 電子工業
  • 出版日期: 2025-04-01
  • 售價: $648
  • 語言: 簡體中文
  • 頁數: 448
  • ISBN: 7121500752
  • ISBN-13: 9787121500756
  • 相關分類: 嵌入式系統Linux
  • 下單後立即進貨 (約4週~6週)

商品描述

《Yocto項目實戰教程》是一本系統化講解Yocto項目核心技術的專業教程。全書從基礎概念到 應用,詳細剖析了Yocto項目體系架構,包括Linux系統架構解析、OpenEmbedded構建系統原理、元數據組織架構、BitBake構建引擎工作機制、Poky參考系統的核心組件等關鍵技術。特別針對嵌入式開發實踐需求,深入講解了內核菜譜 、BSP層開發、交叉編譯工具鏈構建、SDK集成開發等實戰內容。書中提供了豐富的開發案例,涵蓋從QEMU模擬器、樹莓派到NXP i.MX系列工業級平臺的實際應用,通過循序漸進的教學方式,幫助讀者快速掌握Yocto項目的開發方法與技巧。本書內容翔實、案例典型,既適合嵌入式Linux開發工程師作為工作參考手冊,也可作為高校嵌入式系統課程的專業教材,同時還能滿足技術愛好者自學Yocto項目的需求。

作者簡介

孫傑· 世界500強 嵌入式軟件工程師,專註於BSP與嵌入式系統架構,熱衷技術探索與工程實踐· 深耕嵌入式領域十餘年,成功 多個覆雜嵌入式項目,涵蓋系統架構設計、BSP開發與產品落地· Yocto項目技術專家,致力於推動該技術在 的技術實踐與生態發展· 愛爾蘭國立大學碩士,具備豐富的海外嵌入式開發經驗,熟悉 主流開發體系· 個人微信jerrydev提供技術支持,運營的“嵌入式Jerry”技術平臺(B站、CSDN和公眾號)深受粉絲喜愛

目錄大綱

第1章 Yocto項目 1
1.1 嵌入式Linux系統 1
1.1.1 什麽是嵌入式系統 2
1.1.2 嵌入式Linux系統簡介 2
1.1.3 嵌入式Linux系統的應用領域 3
1.1.4 嵌入式Linux系統的構建工具 4
1.1.5 常見的嵌入式Linux系統發行版 5
1.2 什麽是Yocto項目 6
1.2.1 Yocto項目的起源 6
1.2.2 為什麽選擇Yocto項目 7
1.2.3 社區與資源 7
1.3 Yocto項目概覽 9
1.3.1 版本管理 10
1.3.2 開發與生產工具 12
1.3.3 常用術語 13
1.4 特性與挑戰 16
1.4.1 特性與優勢 16
1.4.2 面臨的挑戰 17
1.4.3 經驗總結 19
第2章 Linux系統架構 22
2.1 GNU/Linux 22
2.1.1 GNU/Linux概述 23
2.1.2 Linux系統架構概述 23
2.2 Bootloader 24
2.2.1 Bootloader啟動流程 25
2.2.2 常用的Bootloader 25
2.2.3 U-Boot簡介 26
2.2.4 GRUB簡介 27
2.3 內核空間 28
2.3.1 Linux內核 28
2.3.2 控制硬件資源 31
2.3.3 服務用戶空間 32
2.4 用戶空間 33
2.4.1 根文件系統 34
2.4.2 標準C庫 34
2.4.3 系統共享庫 36
2.4.4 init進程 37
2.4.5 窗口管理系統 38
第3章 Yocto項目基礎架構 40
3.1 快速構建指南 41
3.1.1 搭建構建主機環境 41
3.1.2 下載Poky源代碼 42
3.1.3 初始化OpenEmbedded構建環境 42
3.1.4 構建鏡像 44
3.1.5 QEMU啟動鏡像 44
3.2 Yocto項目架構 45
3.2.1 層模型 45
3.2.2 核心組件 46
3.2.3 構建主機 47
3.3 OpenEmbedded構建系統 48
3.3.1 BitBake構建引擎 49
3.3.2 OpenEmbedded-Core 49
3.3.3 構建系統工作流 50
3.4 OpenEmbedded構建環境 52
3.4.1 構建環境配置腳本 53
3.4.2 構建目錄結構 54
3.4.3 構建輸出結構 55
第4章 元數據架構 60
4.1 元數據 60
4.1.1 元數據的概念 61
4.1.2 元數據文件 61
4.1.3 元數據語法 68
4.2 菜譜 77
4.2.1 菜譜及追加菜譜示例 77
4.2.2 菜譜命名與版本控制 79
4.2.3 菜譜語法 81
4.2.4 創建菜譜 89
4.2.5 菜譜工作流 97
4.3 層 108
4.3.1 層的概念 108
4.3.2 層的結構與功能 109
4.3.3 層的分類 115
4.3.4 bitbake-layers層管理工具 122
第5章 BitBake構建引擎 130
5.1 BitBake的起源與發展 130
5.2 BitBake的源代碼 131
5.2.1 BitBake源代碼的獲取 131
5.2.2 BitBake源代碼結構及核心模塊 132
5.3 BitBake命令 137
5.3.1 BitBake的命令語法 137
5.3.2 執行默認任務 140
5.3.3 執行 任務 141
5.3.4 強制執行任務 143
5.4 BitBake調試與優化 144
5.4.1 清除共享狀態緩存 144
5.4.2 查看任務列表 146
5.4.3 查看變量值 149
5.4.4 查看依賴關系 150
5.4.5 查看調試信息 153
5.5 BitBake執行流程 154
5.5.1 基礎配置解析 155
5.5.2 菜譜解析與管理 156
5.5.3 任務依賴與調度 158
5.5.4 任務執行與日誌記錄 159
第6章 Poky參考發行版 163
6.1 Poky 163
6.1.1 發行版與特性 164
6.1.2 源代碼接口與核心文件 165
6.2 鏡像菜譜 167
6.2.1 鏡像菜譜詳解 167
6.2.2 鏡像菜譜語法 171
6.2.3 鏡像類 173
6.2.4 包組菜譜 178
6.3 機器配置文件 181
6.3.1 Poky中的機器配置文件 181
6.3.2 機器特性與實現 188
6.3.3 選擇目標設備 190
6.4 發行版配置文件 191
6.4.1  發行版配置文件 191
6.4.2 Poky中的發行版配置文件 192
6.4.3 發行版特性與實現 199
6.5 QEMU 203
6.5.1 QEMU簡介 203
6.5.2 設置QEMU的運行環境 204
6.5.3 runqemu腳本 204
第7章  鏡像菜譜與內核菜譜 208
7.1  鏡像菜譜 209
7.1.1 搭建構建環境 209
7.1.2 創建自定義層 210
7.1.3  鏡像菜譜的步驟 211
7.1.4 QEMU測試鏡像 214
7.2  應用程序 216
7.2.1 HelloWorld應用程序 216
7.2.2 Yocto項目中的HelloWorld程序 217
7.2.3 使用QEMU測試HelloWorld程序 219
7.3  內核菜譜 219
7.3.1 Yocto項目的內核倉庫 220
7.3.2 內核元數據 225
7.3.3 內核菜譜 234
7.3.4 內核配置 239
7.3.5  內核菜譜的步驟 242
7.4  內核樹外模塊 245
7.4.1 樹外模塊的基本原理 246
7.4.2 樹外模塊的安裝與加載 246
7.4.3  customer.ko樹外模塊 248
第8章 樹莓派啟動 鏡像 253
8.1 樹莓派簡介 254
8.1.1 樹莓派4B 254
8.1.2 樹莓派與Yocto項目 255
8.2 構建和部署樹莓派鏡像 256
8.2.1 構建樹莓派測試鏡像 256
8.2.2 將鏡像部署到SD卡 261
8.2.3 啟動樹莓派4B 265
8.3 meta-raspberrypi層 266
8.3.1 meta-raspberrypi層概述 267
8.3.2 層配置 269
8.3.3 硬件配置 271
8.3.4 內核配置 274
8.3.5 圖形系統配置 278
8.3.6 硬件測試鏡像菜譜 279
8.4 使用Wic工具創建分區鏡像 280
8.4.1 Wic工具介紹 280
8.4.2 Kickstart文件 284
8.4.3 Wic插件 286
8.4.4 Wic工具的操作模式 288
8.4.5 樹莓派的鏡像分區 290
8.4.6 dd和bmaptool部署鏡像 293
第9章 實戰 樹莓派BSP層 297
9.1 創建與配置BSP層 298
9.1.1  BSP層的方法 298
9.1.2 創建meta-raspberrypi-custom層 298
9.1.3  機器配置文件 300
9.2  內核菜譜 300
9.2.1 內核配置 301
9.2.2  內核設備樹文件 302
9.2.3 添加內核補丁 303
9.3  硬件啟動配置菜譜 306
9.3.1  內核設備樹文件 307
9.3.2 控制LED硬件行為 308
9.4  測試鏡像菜譜 310
9.4.1 創建基礎測試鏡像菜譜 311
9.4.2 添加SSH服務 311
9.4.3 X11圖形顯示協議 311
9.4.4 啟用Systemd系統管理器 313
9.5  分區鏡像 316
9.5.1  Kickstart文件 317
9.5.2 重構並驗證鏡像 318
9.5.3 meta-raspberrypi-custom層的 終結構 319
0章 軟件開發工具包 321
10.1 軟件開發工具包概述 322
10.1.1 SDK簡介 322
10.1.2 獲取和使用SDK安裝包 324
10.1.3 SDK通用組件 328
10.2 可擴展SDK 333
10.2.1 可擴展SDK結構 333
10.2.2  可擴展SDK安裝包 336
10.2.3 devtool命令行工具 340
10.3 標準SDK構建應用程序 349
10.3.1  應用程序 349
10.3.2 構建應用程序 350
10.3.3 部署與測試 353
10.4 可擴展SDK構建與部署 355
10.4.1 創建菜譜 355
10.4.2 構建與部署 360
10.4.3 測試與集成 362
1章 進階項目實戰 367
11.1 搭建項目開發環境 368
11.1.1 硬件開發環境 368
11.1.2 軟件開發環境 370
11.2 初始化構建環境 378
11.2.1 構建環境配置腳本 379
11.2.2 初始化構建環境 381
11.3 元數據結構 385
11.3.1 元數據層結構 385
11.3.2 鏡像菜譜 388
11.3.3 內核 392
11.3.4 Bootloader 398
11.4  層與鏡像 403
11.4.1 創建meta-imx-custom層 403
11.4.2 創建追加菜譜文件 404
11.4.3 集成Chromium瀏覽器 405
11.4.4 添加Systemd服務 408
11.5 構建鏡像與部署驗證 412
11.5.1 構建目標鏡像 412
11.5.2 搭建部署環境 414
11.5.3 啟動硬件與驗證 421
附錄A Yocto項目社區與支持渠道 427

最後瀏覽商品 (20)