樹莓派Linux操作系統移植
內容描述
本書介紹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
Bootloader........................................................................................ 9
1.3.2
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.1
Vim編輯器 .....................................................................................61
2.4.2 時區數據
.........................................................................................66
2.
4.3 文件系統工具...................................................................................67
bash................................................................................................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
2.4.4
第 3章桌面系統................................................................................................... 86
3.1
X Window系統..........................................................................................86
3.2基礎圖形庫
.................................................................................................91
3.2.1 libpng..............................................................................................92
3.2.2 libjpeg.............................................................................................95
JasPer .............................................................................................96
3.2.3 TIFF...............................................................................................97
3.2.4
3.2.5 librsvg...........................................................................................104
3.
3 文字顯示及渲染 ........................................................................................105
Glib ..............................................................................................107
3.3.1
3.3.2 FreeType .......................................................................................111
HarfBuzz .......................................................................................116
3.3.3 FriBidi...........................................................................................117
3.3.4
3.3.5 Fontconfig......................................................................................118
3.3.6 Pango............................................................................................119
3.4 圖形工具庫
GTK......................................................................................120
GDK-PixBuf..................................................................................122
3.4.1 ATK..............................................................................................122
3.4.2 Cairo.............................................................................................123
3.4.3 mesa .............................................................................................126
3.4.5 GTK及其應用程序 ........................................................................128
3.5
XFCE4桌面環境 ......................................................................................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.6
X服務 .....................................................................................................136
3.6.1 編譯
xorg-server.............................................................................138
3.6.2
X系統其他支持 .............................................................................139
3.6.3 啟動
XFCE4 ..................................................................................139
3.7本章小結
..................................................................................................141
3.4.4
第 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
libsecret.........................................................................................156
4.3.2 libXML2........................................................................................157
4.3.3
4.3.4 gspell ............................................................................................158
4.4網絡視頻監控
...........................................................................................158
4.5本章小結
..................................................................................................161
第 5章板載開發環境 .......................................................................................... 162
5.1編譯器
.....................................................................................................162
5.2版本控制系統
GIT....................................................................................165
5.3
Python簡介.............................................................................................166
5.3.1
Python發展史 ...............................................................................166
5.3.2
Python編程理念............................................................................167
5.3.3
Python的應用 ...............................................................................167
5.4
Python的移植 .........................................................................................167
5.4.1數據庫軟件 SQLite.........................................................................169
5.4.2 Tcl/Tk ..........................................................................................170
5.4.3編譯
Python ..................................................................................171
5.4.4安裝
pip ........................................................................................172
5.5
Python基本使用 ......................................................................................173
5.5.1
Python編程工具............................................................................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.3
GPIO控制輸出設備 .................................................................................184
6.4
GPIO輸入功能 ........................................................................................185
6.
4.1基本輸入功能.................................................................................185
6.4.2
GPIO高級輸入功能 .......................................................................186
6.5
PWM模塊...............................................................................................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.9
I2C應用........................................................................................207
6.7本章小結
..................................................................................................212
參考文獻 ............................................................................................................... 214
擴展資源 ............................................................................................................... 216
索引 ...................................................................................................................... 217