国产精品一久久香蕉产线看/亚洲图区欧美/亚洲国产精品电影人久久网站/欧美日韩在线视频一区

歡迎光臨中圖網 請 | 注冊
> >>
用“芯”探索:教你構建龍芯平臺的Linux系統

包郵 用“芯”探索:教你構建龍芯平臺的Linux系統

作者:孫海勇
出版社:人民郵電出版社出版時間:2021-02-01
開本: 16開 頁數: 575
中 圖 價:¥80.6(6.3折) 定價  ¥128.0 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>

用“芯”探索:教你構建龍芯平臺的Linux系統 版權信息

用“芯”探索:教你構建龍芯平臺的Linux系統 本書特色

手把手教你Fedora 發行版移植技巧 可拓展,在系統制作中掌握方法與思路作者長期從事Linux 系統移植、定制和開發工作,經驗豐富。能夠幫助大家更好地理解Linux 系統制作的關鍵技術,學會解決更多問題。

用“芯”探索:教你構建龍芯平臺的Linux系統 內容簡介

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

用“芯”探索:教你構建龍芯平臺的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
結束語
展開全部

用“芯”探索:教你構建龍芯平臺的Linux系統 作者簡介

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

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
編輯推薦
返回頂部
中圖網
在線客服