內容簡介
本書介紹Linux 核心的編譯和移植、根檔案系統的製作、基礎系統、桌面系統, 以及這些軟體在系統中的作用、軟體之間的依賴關係、各種軟體的移植方法。由於很多樹莓派套用是由Python 語言開發的, 本書也專門介紹樹莓派上硬體接口的Python 控制模組和其他一些基礎套用。全書共分6 章,第1 章介紹Linux 核心的移植及根檔案系統的製作;在第1 章的基礎上, 第2 章移植了一些基礎軟體, 增強了樹莓派的聯網功能;第3 章介紹Linux 的基礎圖形庫、文本布局軟體、X Window 系統, 直至構成一個完整的XFCE4 桌面環境;第4 章介紹一些套用軟體的移植, 包括遠程桌面、音視頻編碼與解碼及媒體播放、文檔閱讀, 以及網路監控軟體;第 5 章介紹典型的Linux 開發工具的移植, 移植了編譯器的樹莓派系統初步具備板載開發能力;鑒於樹莓派被廣泛用於電子設計製作, 第6 章專門討論樹莓派GPIO 接口的功能, 介紹一款典型的GPIO Python 模組的使用, 並介紹各種套用模組的工作原理和程式控制方法。本書能對樹莓派愛好者深入學習提供一定的幫助, 對於其他嵌入式開發人員, 書中介紹的大多數內容也有同樣的參考意義。此外, 本書也可作為高等學校電子信息專業在學習嵌入式Linux 作業系統時的教學參考書。
圖書目錄
第1章 核心與根檔案系統 .......................................................................................1
1.1樹莓派簡介.................................................................................................. 1
1.1.1 核心處理器 ....................................................................................... 3
1.1.2 樹莓派作業系統 ................................................................................ 4
1.1.3 樹莓派接口 ....................................................................................... 4
1.2開發工具 ..................................................................................................... 4
1.2.1 編譯工具 .......................................................................................... 5
1.2.2 調試接口 .......................................................................................... 6
1.3樹莓派的外存儲器........................................................................................ 8
1.3.1 SD卡分區 ........................................................................................ 8
1.3.2 Bootloader........................................................................................ 9
1.4 Linux核心 .................................................................................................10
1.4.1 獲取核心源碼...................................................................................11
1.4.2 配置和編譯核心 ...............................................................................11
1.5根檔案系統.................................................................................................15
1.5.1 編譯 BusyBox..................................................................................15
1.5.2 初始化 RAMDisk .............................................................................18
1.5.3 構造 Ext4分區 ................................................................................27
1.5.4 配置檔案 .........................................................................................31
1.5.5 網路檔案系統...................................................................................40
1.6本章小結 ....................................................................................................40
第 2章基礎系統................................................................................................... 42
2.1軟體編譯 ....................................................................................................42
2.1.1 軟體的依賴關係 ...............................................................................42
2.1.2 基礎系統軟體...................................................................................43
2.1.3 軟體編譯方法...................................................................................44
2.2包管理器....................................................................................................49
2.2.1 數據壓縮.........................................................................................49
2.2.2 編譯dpkg........................................................................................56
2.2.3 安裝包格式 ......................................................................................57
2.3安裝軟體包.................................................................................................60
2.4其他軟體編譯.............................................................................................61
2.4.1Vim編輯器 .....................................................................................61
2.4.2 時區數據.........................................................................................66
2.4.3 檔案系統工具...................................................................................67
2.4.4bash................................................................................................67
2.4.5 systemd...........................................................................................68
2.5網路工具....................................................................................................71
2.5.1 編譯網路工具...................................................................................71
2.5.2 遠程連線.........................................................................................78
2.5.3 無線網路連線...................................................................................78
2.5.4 安裝dropbear..................................................................................81
2.6本章小結....................................................................................................84
第 3章桌面系統................................................................................................... 86
3.1X Window系統..........................................................................................86
3.2基礎圖形庫.................................................................................................91
3.2.1 libpng..............................................................................................92
3.2.2 libjpeg.............................................................................................95
3.2.3 JasPer .............................................................................................96
3.2.4 TIFF...............................................................................................97
3.2.5 librsvg...........................................................................................104
3.3 文字顯示及渲染 ........................................................................................105
3.3.1Glib ..............................................................................................107
3.3.2 FreeType .......................................................................................111
3.3.3HarfBuzz .......................................................................................116
3.3.4FriBidi...........................................................................................117
3.3.5 Fontconfig......................................................................................118
3.3.6 Pango............................................................................................119
3.4 圖形工具庫GTK......................................................................................120
3.4.1GDK-PixBuf..................................................................................122
3.4.2ATK..............................................................................................122
3.4.3Cairo.............................................................................................123
3.4.4mesa .............................................................................................126
3.4.5 GTK及其應用程式 ........................................................................128
3.5XFCE4桌面環境 ......................................................................................131
3.5.1 視窗管理器 xfwm4 .........................................................................132
3.5.2 會話管理器 xfce4-session.................................................................133
3.5.3 桌面設定管理器 xfce4-settings.........................................................133
3.5.4 桌面管理器 xfdesktop.....................................................................134
3.5.5 檔案管理器 Thunar ........................................................................135
3.5.6 終端仿真器 ....................................................................................136
3.6X服務 .....................................................................................................136
3.6.1 編譯xorg-server.............................................................................138
3.6.2X系統其他支持 .............................................................................139
3.6.3 啟動XFCE4 ..................................................................................139
3.7本章小結..................................................................................................141
第 4章 Linux套用軟體 ...................................................................................... 142
4.1遠程桌面..................................................................................................142
4.1.1 移植VNC......................................................................................142
4.1.2 中文化...........................................................................................144
4.2媒體播放器...............................................................................................147
4.2.1 音、視頻編碼與解碼.......................................................................147
4.2.2 音頻子系統 ....................................................................................149
4.2.3 播放器mpv ...................................................................................154
4.3文檔閱讀工具...........................................................................................155
4.3.1 Poppler .........................................................................................155
4.3.2 libsecret.........................................................................................156
4.3.3libXML2........................................................................................157
4.3.4 gspell ............................................................................................158
4.4網路視頻監控...........................................................................................158
4.5本章小結..................................................................................................161
第 5章板載開發環境 .......................................................................................... 162
5.1編譯器.....................................................................................................162
5.2版本控制系統GIT....................................................................................165
5.3Python簡介.............................................................................................166
5.3.1Python發展史 ...............................................................................166
5.3.2Python編程理念............................................................................167
5.3.3Python的套用 ...............................................................................167
5.4Python的移植 .........................................................................................167
5.4.1資料庫軟體 SQLite.........................................................................169
5.4.2 Tcl/Tk ..........................................................................................170
5.4.3編譯Python ..................................................................................171
5.4.4安裝pip ........................................................................................172
5.5Python基本使用 ......................................................................................173
5.5.1Python編程工具............................................................................173
5.5.2運行Python程式 ..........................................................................174
5.5.3互動方式.......................................................................................175
5.6本章小結..................................................................................................176
第 6章樹莓派接口控制....................................................................................... 177
6.1 樹莓派設備擴展 ........................................................................................177
GPIO............................................................................................177
6.1.1 PWM............................................................................................179
6.1.2
6.1.3擴展接口資源配置 ..........................................................................180
6.2樹莓派GPIO模組....................................................................................181
6.2.1安裝模組.......................................................................................181
6.2.2使用GPIO模組 ............................................................................182
6.3GPIO控制輸出設備 .................................................................................184
6.4GPIO輸入功能 ........................................................................................185
6.4.1基本輸入功能.................................................................................185
6.4.2GPIO高級輸入功能 .......................................................................186
6.5PWM模組...............................................................................................188
6.6感測器和控制器 ........................................................................................190
6.6.1蜂鳴器...........................................................................................190
6.6.2感測器...........................................................................................191
6.6.3紅外遙控器 ....................................................................................191
6.6.4直流電動機 ....................................................................................196
6.6.5伺服電動機 ....................................................................................197
6.6.6步進電動機 ....................................................................................198
6.6.7超音波測距 ....................................................................................203
6.6.8控制SPI設備 ................................................................................204
6.6.9I2C套用........................................................................................207
6.7本章小結..................................................................................................212
參考文獻 ............................................................................................................... 214
擴展資源 ............................................................................................................... 216
索引 ...................................................................................................................... 217