|
-- 會員 / 註冊 --
|
|
|
|
樹莓派Linux操作系統移植 ( 簡體 字) |
作者:方元、沈克勤 | 類別:1. -> 電腦組織與體系結構 -> 單晶片 -> Raspberry Pi 2. -> 作業系統 -> Linux |
譯者: |
出版社:清華大學出版社 | 3dWoo書號: 55823 詢問書籍請說出此書號!【有庫存】 NT售價: 295 元 |
出版日:4/1/2022 |
頁數:218 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787302599395 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:樹莓派是在電子愛好者中廣受歡迎的一款單板式計算機。自其問世以來 ,全世界眾多的開發者和愛好者在這個系統上開發了大量有趣的應用。大多數應用都是基于 Linux操作系統 ,樹莓派官方網站也提供了幾種典型的操作系統映像。用戶只要下載后 ,復制到存儲卡上,操作系統就能運行起來。 多數人只是在使用這個成熟的操作系統。本書則是介紹如何從零開始 ,從源代碼構造一個可用的 Linux操作系統,并在這個系統上實現一些簡單的應用。通過學習這一過程 ,計算機愛好者可以根據自己的需要移植相關的軟件 ,并自如地調度系統的軟、硬件資源 ,甚至打造自己的 Linux發行版。 Linux是遵循自由版權協議的操作系統,本書移植的絕大部分軟件都是自由軟件。可以免費獲得 ,其中多數還允許用戶對其修改和再發布 ,但用戶仍然需要遵守它們的版權協議。本書移植的軟件所涉及的版權協議主要有以下幾種。 . GNU通用公共版權協議 (General Public License, GPL),出自自由軟件基金會。這是 Linux軟件使用最多的一種版權協議 , Linux內核、 GCC、BusyBox等屬此類 ;該版權協議要求由 GPL衍生的軟件也必須遵守 GPL規范。
. GNU寬松通用公共版權協議 (Lesser General Public License, LGPL),同樣出自自由軟件基金會。以這種版權協議發布的軟件允許其他版權協議 (即使是私有版權 )的軟件使用 ,而不會影響其他版權協議。通常它們以共享庫的方式被調用 ,以明確版權協議之間的界線。但 LGPL軟件本身修改后的再發布仍需要遵守 LGPL規范。GTK、FFMpeg等軟件以 LGPL發布。
. BSD及類 BSD版權協議 ,源自加州大學伯克利分校。該版權協議要求被授權者保留原著作權聲明,但并不要求其衍生產品必須開源,例如 Tcl/Tk。
. MIT及類 MIT版權協議,源自麻省理工學院,又稱作 “X版權協議”或 “X11版權協議 ”, X11系統的軟件均以此協議發布。它要求被授權者保留著作權和版權聲明 ,對軟件的使用和再發布相對寬松。它也是自由軟件基金會所認可的自由軟件許可協議條款,與 GPL兼容。
. Python軟件基金會版權協議 (Python Software Foundation License, PSFL),出自 Python軟件基金會 ,要求被授權者在使用 Python及衍生產品時須保持原有的版權協議,它與 GPL兼容,但并不要求再發布的軟件也開源。
. 其他開源軟件版權協議,例如 zlib-libpng版權協議等。這些開源版權協議的共同特點是允許免費獲得、修改、移植 ,而且不限制商業使用。但在使用和再發布時必須保持原版權聲明,明確原作者的貢獻。
相比軟件開發 ,移植軟件的技術含量并沒有那么高 ,大量工作都是重復性的機械勞動。因此也有不少軟件工程師將編譯整個操作系統的工作寫成一組腳本程序 ,一個典型的案例就是 Buildroot。開發人員通過圖形配置界面 ,選擇自己需要的功能 ,輸入幾條命令 ,剩下的就是等待。軟件下載、編譯、安裝完全自動化實現。這個過程中 ,開發人員不需要了解軟件的依賴關系,也不需要關心編譯過程,甚至都不需要自己手工安裝編譯器。單純從構建系統的目標來看,這種方法不失為一種方便的選擇,但對理解操作系統的構成幫助不大。 本書基于樹莓派平臺 ,介紹從內核到桌面應用的整套系統的移植過程。在討論軟件移植方法的同時 ,還介紹這些軟件的作用及它們之間的關系。作為一個完整的操作系統 ,這些軟件遠遠不夠 ,但已經足夠勝任樹莓派的大部分應用場合。掌握這些軟件的移植方法 ,再移植其他軟件也只是時間問題。 本書面向具有一定 Linux系統使用基礎的樹莓派愛好者。計算機技術的發展日新月異 ,軟件的更新換代更是頻繁。本書在移植過程中使用的軟件 ,隨著時間的推移會漸漸顯得過時。然而 ,得益于人工智能、邊緣計算、嵌入式應用的發展 , Linux操作系統正處于發展上升期,開源軟件社區不斷壯大。在可見的將來 ,軟件移植的方法會越來越規范、越來越簡單。如果有意愿自己定制 Linux操作系統,本書可提供一定的參考。 限于筆者的知識水平和認知能力 ,書中難免存在疏漏之處 ,懇請同行專家及讀者批評指正。 編者 2022年春于南京 |
內容簡介:本書介紹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.4Linux內核...........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 XWindow系統..........86
3.2基礎圖形庫...........91
3.2.1 libpng............92
3.2.2 libjpeg...........95
JasPer...........96
3.2.3TIFF...........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.3FriBidi...........117 3.3.4 3.3.5 Fontconfig..........118
3.3.6 Pango............119
3.4 圖形工具庫 GTK..........120
GDK-PixBuf..........122
3.4.1ATK............122 3.4.2Cairo...........123 3.4.3mesa...........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.2libXML2..........157 4.3.3 4.3.4gspell............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.2Tcl/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.1PWM............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 |
序: |
|