注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機(jī)/網(wǎng)絡(luò)操作系統(tǒng)Yocto項目實戰(zhàn)教程:高效定制嵌入式Linux系統(tǒng)

Yocto項目實戰(zhàn)教程:高效定制嵌入式Linux系統(tǒng)

Yocto項目實戰(zhàn)教程:高效定制嵌入式Linux系統(tǒng)

定 價:¥108.00

作 者: 孫杰
出版社: 電子工業(yè)出版社
叢編項:
標(biāo) 簽: 暫缺

ISBN: 9787121500756 出版時間: 2025-05-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

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

作者簡介

  孫杰· 世界500強(qiáng)資深嵌入式軟件工程師,專注于BSP與嵌入式系統(tǒng)架構(gòu),熱衷技術(shù)探索與工程實踐· 深耕嵌入式領(lǐng)域十余年,成功主導(dǎo)多個復(fù)雜嵌入式項目,涵蓋系統(tǒng)架構(gòu)設(shè)計、BSP開發(fā)與產(chǎn)品落地· Yocto項目技術(shù)專家,致力于推動該技術(shù)在國內(nèi)的技術(shù)實踐與生態(tài)發(fā)展· 愛爾蘭國立大學(xué)碩士,具備豐富的海外嵌入式開發(fā)經(jīng)驗,熟悉國際主流開發(fā)體系· 個人微信jerrydev提供技術(shù)支持,運營的“嵌入式Jerry”技術(shù)平臺(B站、CSDN和公眾號)深受粉絲喜愛

圖書目錄

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

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.stefanvlieger.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號