新到貨2本75折
用芯探索:教你構建龍芯平台的Linux系統

用芯探索:教你構建龍芯平台的Linux系統

  • 定價:768
  • 優惠價:87668
  • 運送方式:
  • 臺灣與離島
  • 海外
  • 可配送點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
  • 可取貨點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
載入中...
  • 分享
 

內容簡介

本書通過講解如何在龍芯CPU下製作Linux系統及其發行版本來介紹Linux作業系統的組成,同時為讀者提供了一種為非x86架構CPU製作和移植發行版本的思路。
 
本書將製作Linux系統的過程分為準備、製作臨時系統、製作目標系統、製作發行版本4個階段。準備階段可讓讀者對實際製作過程中用到的技術細節有所瞭解;製作臨時系統階段介紹如何為沒有可用系統的機器製作一個可用的系統;製作目標系統階段介紹如何在一個臨時系統的基礎上將Fedora系統移植到目的機器上;製作發行版本階段配合軟體倉庫、安裝系統、包構建管理製作等對目標系統進行擴展,完成一個相對完整的發行版本的製作。
 

作者介紹

孫海勇:高級工程師,長期從事Linux 系統移植、定制和開發工作。先行製作了運行在龍芯CPU 上的純64 位元Linux 系統及發行版本,並在龍芯CPU 所用架構下完成了Fedora 21/28/32等版本的發行版本移植。Linux 內核級UTF-8 編碼文字顯示補丁的作者。曾發表過多篇LFS 相關的文章,著有《手把手教你構建自己的Linux 系統》。
 

目錄

第一階段 準備
第01章 龍芯CPU和Linux發行版本
1.1 龍芯CPU 003
1.1.1 龍芯CPU的分類 003
1.1.2 龍芯CPU的指令集架構和微架構 004
1.1.3 龍芯CPU的相容性問題 005
1.2 GNU/Linux作業系統和發行版本 006
1.2.1 GNU簡介 006
1.2.2 Linux簡介 007
1.2.3 GNU/Linux的發行版本 008
1.3 基礎發行版本和衍生發行版本 010
1.3.1 基礎發行版本 010
1.3.2 衍生發行版本 010
1.3.3 如何選擇發行版本 011
1.4 Linux相關標準 012
1.4.1 POSIX標準 012
1.4.2 LSB——Linux系統相容的新起點 012
1.4.3 FHS——檔存放標準 013
1.5 本書的目標 013
1.6 版權,關於開源協議 014
第02章 基礎知識
2.1 方案選擇 017
2.1.1 初始系統與目標系統 017
2.1.2 初始系統的基本要求 017
2.1.3 目標系統的製作方法 018
2.1.4 本地編譯和交叉編譯 018
2.2 交叉編譯的原理 020
2.2.1 瞭解CPU 020
2.2.2 交叉編譯的定義 021
2.2.3 交叉編譯的適用範圍 022
2.2.4 常用術語解釋 022
2.2.5 交叉編譯目標系統 023
2.2.6 Sysroot與DESTDIR 027
2.3 Fedora Linux發行版本 030
2.3.1 Fedora Linux簡介 030
2.3.2 Fedora Linux的包管理工具 031
2.3.3 DNF軟體倉庫工具 031
2.3.4 RPM文件簡介 035
2.3.5 操作包文件的命令 037
2.3.6 RPM包文件構建工具 041
2.3.7 SPEC描述檔介紹 043
2.3.8 Fedora Linux實用網站 045
2.4 套裝軟體配置常見參數 046
2.4.1 安裝路徑設置 046
2.4.2 程式名稱定義 047
2.4.3 平臺系統定義 047
2.4.4 功能開關選項和軟體設置選項 048
2.4.5 環境變數 049
第03章 製作方案設計
3.1 外援階段 051
3.1.1 選擇製作系統平臺 051
3.1.2 交叉編譯臨時系統 051
3.1.3 階段要領 052
3.2 可啟動階段 053
3.2.1 移動介質啟動系統 053
3.2.2 安裝臨時系統 054
3.2.3 階段要領 054
3.3 自立階段 054
3.3.1 臨時系統完善階段 055
3.3.2 RPM打包環境階段 055
3.3.3 工具鏈製作階段 056
3.3.4 臨時系統替換階段 056
3.3.5 重構系統階段 057
3.4 補充階段 057
3.5 完成階段 057
3.6 準備開工 058

第二階段 製作臨時系統
第04章 創作基地
4.1 搭建初始系統 061
4.1.1 安裝一個系統環境 061
4.1.2 配置初始系統 062
4.1.3 下載全部原始程式碼 063
4.1.4 登錄初始系統 064
4.1.5 配置軟體倉庫 065
4.2 創作基地的搭建和設置 067
4.2.1 設置環境變數 067
4.2.2 建立創作基地目錄 068
4.2.3 創建必要的目錄 068
4.2.4 創建製作用戶 069
4.2.5 設置製作用戶 070
第05章 交叉工具鏈
5.1 準備工作 076
5.1.1 交叉工具鏈製作的目的 076
5.1.2 交叉工具鏈中軟體的編譯方法 076
5.1.3 安裝交叉工具鏈所需的原始程式碼包 077
5.2 開始製作 078
5.2.1 內核標頭檔 078
5.2.2 Binutils交叉工具 080
5.2.3 任意精度演算法庫(GMP) 084
5.2.4 高精度浮點數演算法庫(MPFR) 084
5.2.5 任意高精度的複數計算庫(LibMPC) 085
5.2.6 集合和關係的數學演算法庫(ISL) 086
5.2.7 多面體資料轉換程式庫(CLooG) 086
5.2.8 GCC交叉工具(僅支援C語言) 087
5.2.9 目標系統的Glibc 091
5.2.10 GCC交叉工具(支援C語言和C++語言) 096
5.2.11 測試交叉工具鏈 098
5.2.12 Pkgconf套裝軟體 101
5.2.13 Grub套裝軟體 103
第06章 製作一個臨時系統
6.1 準備工作 107
6.1.1 製作環境設置 107
6.1.2 準備套裝軟體 110
6.2 臨時系統的工具鏈 111
6.2.1 任意精度演算法庫(GMP) 111
6.2.2 高精度浮點數演算法庫(MPFR) 112
6.2.3 任意高精度的複數計算庫(LibMPC) 113
6.2.4 集合和關係演算法庫(ISL) 113
6.2.5 多面體參數演算法庫(CLooG) 114
6.2.6 ZIP格式支援函式庫(Zlib) 114
6.2.7 彙編工具集(Binutils) 115
6.2.8 編譯器(GCC) 117
6.3 基礎庫套裝軟體 120
6.3.1 文本環境交互函式程式庫(Ncurses) 120
6.3.2 壓縮工具(Bzip2) 121
6.3.3 壓縮工具(XZ) 124
6.3.4 行編輯支援函式庫(Readline) 124
6.3.5 加密演算法支援函式庫(OpenSSL) 125
6.3.6 規則運算式處理庫(PCRE) 126
6.3.7 SELinux策略庫(Libsepol) 126
6.3.8 SELinux文件級安全性原則庫(LibSELinux) 127
6.3.9 小型資料庫(GDBM) 127
6.3.10 可擕式多功能庫(NSPR) 128
6.3.11 SQL資料庫(SQLite) 129
6.3.12 網路安全服務(NSS) 130
6.3.13 命令列參數解析庫(Popt) 132
6.3.14 多種歸檔格式庫(Libarchive) 133
6.3.15 伯克利資料庫(LibDB) 133
6.3.16 許可權管理庫(Libcap) 134
6.3.17 HTTP協定服務庫(Libmicrohttpd) 135
6.3.18 傳輸資料協定庫(CURL) 136
6.3.19 ELF格式支援工具(ELFUtils) 136
6.3.20 壓縮工具(LZ4) 137
6.3.21 壓縮工具(Zstd) 138
6.3.22 XML解析庫(Expat) 138
6.4 基本命令套裝軟體 139
6.4.1 用戶交互環境工具(Bash) 139
6.4.2 常用命令工具集(Coreutils) 141
6.4.3 檔案類型查詢工具(File) 141
6.4.4 文件查找工具(Findutils) 142
6.4.5 文本處理工具(Gawk) 142
6.4.6 國際化語言支援工具(Gettext) 143
6.4.7 文本匹配搜索工具(Grep) 144
6.4.8 壓縮工具(Gzip) 145
6.4.9 文本流編輯工具(Sed) 145
6.4.10 Linux系統常用工具集(Util-linux) 145
6.4.11 Linux內核模組管理工具(Kmod) 146
6.4.12 文字編輯器(VIM) 148
6.4.13 命令路徑查詢工具(Which) 150
6.4.14 網路管理工具(IPRoute) 150
6.4.15 網路位址自動獲取工具(DHCPCD) 151
6.4.16 驗證工具(FIPSCheck) 152
6.4.17 主機互聯工具(OpenSSH) 152
6.4.18 提權執行工具(Sudo) 153
6.5 檔案系統工具 155
6.5.1 Ext檔案系統工具(E2fsprogs) 155
6.5.2 Xfs檔案系統工具(Xfsprogs) 156
6.5.3 Dos檔案系統工具(Dosfstools) 157
6.6 開發相關工具 158
6.6.1 語法分析工具(Bison) 158
6.6.2 測試工具(Check) 158
6.6.3 文件比較工具(Diffutils) 159
6.6.4 編譯程序控制工具(Make) 159
6.6.5 補丁檔使用工具(Patch) 160
6.6.6 文件打包工具(Tar) 160
6.6.7 資訊閱讀工具(Texinfo) 161
6.6.8 宏處理工具(M4) 161
6.6.9 套裝軟體安裝資訊讀取工具(Pkgconf) 162
6.6.10 自動化配置腳本生成工具(Autoconf) 163
6.6.11 自動化編譯腳本生成工具(Automake) 164
6.6.12 GNU通用庫支援工具(Libtool) 164
6.6.13 程式生成工具(Flex) 165
6.6.14 指令碼語言(TCL) 166
6.6.15 程式設計語言(Lua) 167
6.6.16 文件打包工具(Cpio) 167
6.6.17 用戶交互環境工具(TCSH) 168
6.7 包管理工具 169
6.7.1 RPM包管理工具(RPM) 169
6.7.2 配置RPM包管理工具 171
6.8 系統啟動的支援 172
6.8.1 啟動管理器(Systemd) 172
6.8.2 消息匯流排系統(D-Bus) 174
6.8.3 密碼管理工具(Shadow-Utils) 175
6.8.4 Linux內核 176
6.8.5 啟動器(GRUB) 179
第07章 在龍芯上啟動臨時系統
7.1 設置臨時系統 182
7.2 打包臨時系統 189
7.3 製作基於U盤的啟動系統 190
7.4 遺漏的套裝軟體 195
7.5 安裝臨時系統 196
7.6 啟動龍芯機器 203

第三階段 製作目標系統
第08章 目標系統工具鏈
8.1 為編譯做準備 209
8.2 完善臨時系統 211
8.2.1 指令碼語言工具(Perl) 212
8.2.2 指令碼語言(Python3) 214
8.2.3 版本管理工具(Git) 215
8.2.4 文件下載工具(Wget) 215
8.2.5 文本匹配搜索工具(Grep) 216
8.2.6 程式調試工具(GDB) 216
8.2.7 DWARF調試資訊工具(DWZ) 217
8.2.8 進程查詢工具(Procps-ng) 218
8.3 編譯第 一個RPM原始程式碼包 218
8.3.1 編譯方法 218
8.3.2 軟體版本和修訂版本 220
8.3.3 SPEC描述檔的修改 220
8.3.4 使用SPEC描述檔進行編譯 221
8.3.5 重新製作RPM原始程式碼包 222
8.3.6 RPM檔的安裝 222
8.4 RPM檔製作環境完善 225
8.4.1 RPM擴展包(Redhat-Rpm-Config) 225
8.4.2 修改原始程式碼包 225
8.4.3 強制編譯原始程式碼包 226
8.5 發行版本信息包 228
8.5.1 發行版本倉庫源資訊包(Fedora-Repos) 228
8.5.2 發行版本版本資訊包(Fedora-Release) 228
8.5.3 安裝迴圈依賴 229
8.6 迴圈依賴 231
8.6.1 什麼是迴圈依賴 231
8.6.2 依賴條件的類型 232
8.6.3 破壞與還原 233
8.6.4 迴圈依賴解決建議 237
8.7 標準化系統套裝軟體 239
8.7.1 ISO代碼標準(ISO-Codes) 239
8.7.2 基礎設定檔集合(Setup) 239
8.7.3 根目錄結構(Filesystem) 240
8.7.4 基礎系統虛包(Basesystem) 243
8.8 目標系統的工具鏈 243
8.8.1 內核標頭檔(Kernel-Header) 244
8.8.2 基礎C庫(Glibc) 247
8.8.3 調整工具鏈 253
8.8.4 ZIP格式支援函式庫(Zlib) 255
8.8.5 雜湊密碼函式程式庫(Libxcrypt) 257
8.8.6 彙編工具集(Binutils) 259
8.8.7 任意精度演算法庫(GMP) 264
8.8.8 高精度浮點數演算法庫(MPFR) 267
8.8.9 任意高精度的複數計算庫(LibMPC) 267
8.8.10 集合和關係的數學演算法庫(ISL) 268
8.8.11 壓縮工具(XZ) 269
8.8.12 壓縮工具(LZ4) 269
8.8.13 壓縮工具(ZSTD) 269
8.8.14 編譯器(GCC) 270
8.8.15 重新編譯工具鏈 278
第09章 殘破的目標系統
9.1 製作階段須知 286
9.1.1 多庫支持(Multilib) 286
9.1.2 修改SRPM檔 286
9.1.3 自舉(BootStrap) 287
9.1.4 迴圈依賴 288
9.1.5 補丁文件 289
9.1.6 製作順序 289
9.1.7 套裝軟體的測試 289
9.2 基礎目標系統 290
9.2.1 系統交互環境 290
9.2.2 常用系統工具 293
9.2.3 系統基礎套裝軟體 303
9.2.4 圖形相關套裝軟體 317
9.2.5 文檔相關套裝軟體 326
9.2.6 系統安全性群組件 336
9.2.7 包管理工具 348
9.2.8 啟動相關套裝軟體 355
9.2.9 配置和重啟系統 372
第 10章 完善目標系統
10.1 臨時軟體倉庫 376
10.1.1 倉庫管理工具 376
10.1.2 創建本地倉庫 383
10.1.3 倉庫設定檔 384
10.1.4 倉庫索引檔 386
10.1.5 使用本地倉庫 387
10.2 堅硬的自依賴 395
10.2.1 逆交叉工具鏈 396
10.2.2 回歸創作基地 407
10.2.3 解決自依賴 411
10.3 家族類套裝軟體 416
10.3.1 迴圈構建腳本 416
10.3.2 準備迴圈構建環境 418
10.3.3 Perl家族類套裝軟體 419
10.3.4 Python家族類套裝軟體 424
10.4 圖形桌面交互環境 427
10.4.1 圖形桌面基礎套裝軟體 427
10.4.2 Xwindow圖形系統 440
10.4.3 登錄管理器 444
10.4.4 圖形桌面環境 448
10.4.5 中文支援 463
10.4.6 聲音支援 467
10.4.7 主題和圖示 473
10.4.8 啟動桌面 478
10.5 再次編譯 479
10.5.1 準備工作 479
10.5.2 重構套裝軟體 481
10.5.3 分散式編譯 485
10.5.4 重構當前系統 492
10.5.5 構建全部套裝軟體 495

第四階段 製作發行版本
第11章 軟體倉庫
11.1 分組文件 507
11.1.1 下載分組文件 507
11.1.2 分組檔的內容 507
11.1.3 分組檔的修改 508
11.1.4 分組檔的使用 508
11.1.5 分組文件的驗證 509
11.2 簽名 510
11.2.1 簽名的作用 510
11.2.2 生成金鑰對 510
11.2.3 金鑰簽名配置 512
11.2.4 RPM文件簽名 513
11.2.5 軟體倉庫簽名 514
11.2.6 發佈公開金鑰 514
11.2.7 驗證安裝簽名軟體 516
11.3 發佈軟體倉庫 517
11.3.1 安裝Web服務 517
11.3.2 配置軟體倉庫 519
11.3.3 動態倉庫位址 521
11.3.4 同步軟體倉庫 527
11.3.5 維護軟體倉庫 529
第12章 製作安裝鏡像
12.1 啟動鏡像製作工具 532
12.1.1 相關準備 532
12.1.2 製作啟動鏡像檔 534
12.1.3 使用啟動鏡像檔 536
12.2 作業系統的安裝 538
12.2.1 相關準備 538
12.2.2 圖形桌面的Live系統 539
12.2.3 安裝作業系統 541
12.3 查看和修改Live系統 544
第13章 包構建管理系統
13.1 包構建工具 546
13.1.1 Mock的工作原理 546
13.1.2 Mock的安裝 547
13.1.3 Mock的配置 547
13.1.4 Mock的初始化 549
13.1.5 Mock的使用 550
13.2 包管理系統 551
13.2.1 瞭解Koji 551
13.2.2 Koji的安裝 552
13.2.3 Koji的使用 568
結束語
 

詳細資料

  • ISBN:9787115558497
  • 規格:平裝 / 575頁 / 16k / 19 x 26 x 1 cm / 普通級 / 單色印刷 / 初版
  • 出版地:中國

最近瀏覽商品

 

相關活動

  • 【科普、飲食、電腦】高寶電子書暢銷書展:人生就是選擇的總和,全展75折起
 

購物說明

溫馨提醒您:若您訂單中有購買簡體館無庫存/預售書或庫存於海外廠商的書籍,建議與其他商品分開下單,以避免等待時間過長,謝謝。

大陸出版品書況:因裝幀品質及貨運條件未臻完善,書況與台灣出版品落差甚大,封面老舊、出現磨痕、凹痕等均屬常態,故簡體字館除封面破損、內頁脫落...等較嚴重的狀態外,其餘所有商品將正常出貨。 

 

請注意,部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

調貨時間:若您購買海外庫存之商品,於您完成訂購後,商品原則上約45個工作天內抵台(若有將延遲另行告知)。為了縮短等待的時間,建議您將簡體書與其它商品分開訂購,以利一般商品快速出貨。 

若您具有法人身份為常態性且大量購書者,或有特殊作業需求,建議您可洽詢「企業採購」。 

退換貨說明 

會員所購買的商品均享有到貨十天的猶豫期(含例假日)。退回之商品必須於猶豫期內寄回。 

辦理退換貨時,商品必須是全新狀態與完整包裝(請注意保持商品本體、配件、贈品、保證書、原廠包裝及所有附隨文件或資料的完整性,切勿缺漏任何配件或損毀原廠外盒)。退回商品無法回復原狀者,恐將影響退貨權益或需負擔部分費用。 

訂購本商品前請務必詳閱商品退換貨原則

  • 翦商作者新作79折
  • 針灸匠張寶旬