書馨卡幫你省薪 2024個人購書報告 2024中圖網(wǎng)年度報告
歡迎光臨中圖網(wǎng) 請 | 注冊
> >>
用“芯”探索:教你構(gòu)建龍芯平臺的Linux系統(tǒng)

用“芯”探索:教你構(gòu)建龍芯平臺的Linux系統(tǒng)

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

用“芯”探索:教你構(gòu)建龍芯平臺的Linux系統(tǒng) 版權(quán)信息

用“芯”探索:教你構(gòu)建龍芯平臺的Linux系統(tǒng) 本書特色

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

用“芯”探索:教你構(gòu)建龍芯平臺的Linux系統(tǒng) 內(nèi)容簡介

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

用“芯”探索:教你構(gòu)建龍芯平臺的Linux系統(tǒng) 目錄

第 一階段 準備
第01章 龍芯CPU和Linux發(fā)行版
1.1 龍芯CPU 003
1.1.1 龍芯CPU的分類 003
1.1.2 龍芯CPU的指令集架構(gòu)和微架構(gòu) 004
1.1.3 龍芯CPU的兼容性問題 005
1.2 GNU/Linux操作系統(tǒng)和發(fā)行版 006
1.2.1 GNU簡介 006
1.2.2 Linux簡介 007
1.2.3 GNU/Linux的發(fā)行版 008
1.3 基礎(chǔ)發(fā)行版和衍生發(fā)行版 010
1.3.1 基礎(chǔ)發(fā)行版 010
1.3.2 衍生發(fā)行版 010
1.3.3 如何選擇發(fā)行版 011
1.4 Linux相關(guān)標準 012
1.4.1 POSIX標準 012
1.4.2 LSB——Linux系統(tǒng)兼容的新起點 012
1.4.3 FHS——文件存放標準 013
1.5 本書的目標 013
1.6 版權(quán),關(guān)于開源協(xié)議 014
第02章 基礎(chǔ)知識
2.1 方案選擇 017
2.1.1 初始系統(tǒng)與目標系統(tǒng) 017
2.1.2 初始系統(tǒng)的基本要求 017
2.1.3 目標系統(tǒng)的制作方法 018
2.1.4 本地編譯和交叉編譯 018
2.2 交叉編譯的原理 020
2.2.1 了解CPU 020
2.2.2 交叉編譯的定義 021
2.2.3 交叉編譯的適用范圍 022
2.2.4 常用術(shù)語解釋 022
2.2.5 交叉編譯目標系統(tǒng) 023
2.2.6 Sysroot與DESTDIR 027
2.3 Fedora Linux發(fā)行版 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包文件構(gòu)建工具 041
2.3.7 SPEC描述文件介紹 043
2.3.8 Fedora Linux實用網(wǎng)站 045
2.4 軟件包配置常見參數(shù) 046
2.4.1 安裝路徑設(shè)置 046
2.4.2 程序名稱定義 047
2.4.3 平臺系統(tǒng)定義 047
2.4.4 功能開關(guān)選項和軟件設(shè)置選項 048
2.4.5 環(huán)境變量 049
第03章 制作方案設(shè)計
3.1 外援階段 051
3.1.1 選擇制作系統(tǒng)平臺 051
3.1.2 交叉編譯臨時系統(tǒng) 051
3.1.3 階段要領(lǐng) 052
3.2 可啟動階段 053
3.2.1 移動介質(zhì)啟動系統(tǒng) 053
3.2.2 安裝臨時系統(tǒng) 054
3.2.3 階段要領(lǐng) 054
3.3 自立階段 054
3.3.1 臨時系統(tǒng)完善階段 055
3.3.2 RPM打包環(huán)境階段 055
3.3.3 工具鏈制作階段 056
3.3.4 臨時系統(tǒng)替換階段 056
3.3.5 重構(gòu)系統(tǒng)階段 057
3.4 補充階段 057
3.5 完成階段 057
3.6 準備開工 058

第二階段 制作臨時系統(tǒng)
第04章 創(chuàng)作基地
4.1 搭建初始系統(tǒng) 061
4.1.1 安裝一個系統(tǒng)環(huán)境 061
4.1.2 配置初始系統(tǒng) 062
4.1.3 下載全部源代碼 063
4.1.4 登錄初始系統(tǒng) 064
4.1.5 配置軟件倉庫 065
4.2 創(chuàng)作基地的搭建和設(shè)置 067
4.2.1 設(shè)置環(huán)境變量 067
4.2.2 建立創(chuàng)作基地目錄 068
4.2.3 創(chuàng)建必要的目錄 068
4.2.4 創(chuàng)建制作用戶 069
4.2.5 設(shè)置制作用戶 070
第05章 交叉工具鏈
5.1 準備工作 076
5.1.1 交叉工具鏈制作的目的 076
5.1.2 交叉工具鏈中軟件的編譯方法 076
5.1.3 安裝交叉工具鏈所需的源代碼包 077
5.2 開始制作 078
5.2.1 內(nèi)核頭文件 078
5.2.2 Binutils交叉工具 080
5.2.3 任意精度算法庫(GMP) 084
5.2.4 高精度浮點數(shù)算法庫(MPFR) 084
5.2.5 任意高精度的復(fù)數(shù)計算庫(LibMPC) 085
5.2.6 集合和關(guān)系的數(shù)學算法庫(ISL) 086
5.2.7 多面體數(shù)據(jù)轉(zhuǎn)換程序庫(CLooG) 086
5.2.8 GCC交叉工具(僅支持C語言) 087
5.2.9 目標系統(tǒng)的Glibc 091
5.2.10 GCC交叉工具(支持C語言和C++語言) 096
5.2.11 測試交叉工具鏈 098
5.2.12 Pkgconf軟件包 101
5.2.13 Grub軟件包 103
第06章 制作一個臨時系統(tǒng)
6.1 準備工作 107
6.1.1 制作環(huán)境設(shè)置 107
6.1.2 準備軟件包 110
6.2 臨時系統(tǒng)的工具鏈 111
6.2.1 任意精度算法庫(GMP) 111
6.2.2 高精度浮點數(shù)算法庫(MPFR) 112
6.2.3 任意高精度的復(fù)數(shù)計算庫(LibMPC) 113
6.2.4 集合和關(guān)系算法庫(ISL) 113
6.2.5 多面體參數(shù)算法庫(CLooG) 114
6.2.6 ZIP格式支持庫(Zlib) 114
6.2.7 匯編工具集(Binutils) 115
6.2.8 編譯器(GCC) 117
6.3 基礎(chǔ)庫軟件包 120
6.3.1 文本環(huán)境交互函數(shù)庫(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 小型數(shù)據(jù)庫(GDBM) 127
6.3.10 便攜式多功能庫(NSPR) 128
6.3.11 SQL數(shù)據(jù)庫(SQLite) 129
6.3.12 網(wǎng)絡(luò)安全服務(wù)(NSS) 130
6.3.13 命令行參數(shù)解析庫(Popt) 132
6.3.14 多種歸檔格式庫(Libarchive) 133
6.3.15 伯克利數(shù)據(jù)庫(LibDB) 133
6.3.16 權(quán)限管理庫(Libcap) 134
6.3.17 HTTP協(xié)議服務(wù)庫(Libmicrohttpd) 135
6.3.18 傳輸數(shù)據(jù)協(xié)議庫(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 用戶交互環(huán)境工具(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系統(tǒng)常用工具集
(Util-linux) 145
6.4.11 Linux內(nèi)核模塊管理工具
(Kmod) 146
6.4.12 文本編輯器(VIM) 148
6.4.13 命令路徑查詢工具(Which) 150
6.4.14 網(wǎng)絡(luò)管理工具(IPRoute) 150
6.4.15 網(wǎng)絡(luò)地址自動獲取工具
(DHCPCD) 151
6.4.16 驗證工具(FIPSCheck) 152
6.4.17 主機互聯(lián)工具(OpenSSH) 152
6.4.18 提權(quán)執(zhí)行工具(Sudo) 153
6.5 文件系統(tǒng)工具 155
6.5.1 Ext文件系統(tǒng)工具(E2fsprogs) 155
6.5.2 Xfs文件系統(tǒng)工具(Xfsprogs) 156
6.5.3 Dos文件系統(tǒng)工具(Dosfstools) 157
6.6 開發(fā)相關(guān)工具 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 用戶交互環(huán)境工具(TCSH) 168
6.7 包管理工具 169
6.7.1 RPM包管理工具(RPM) 169
6.7.2 配置RPM包管理工具 171
6.8 系統(tǒng)啟動的支持 172
6.8.1 啟動管理器(Systemd) 172
6.8.2 消息總線系統(tǒng)(D-Bus) 174
6.8.3 密碼管理工具(Shadow-Utils) 175
6.8.4 Linux內(nèi)核 176
6.8.5 啟動器(GRUB) 179
第07章 在龍芯上啟動臨時系統(tǒng)
7.1 設(shè)置臨時系統(tǒng) 182
7.2 打包臨時系統(tǒng) 189
7.3 制作基于U盤的啟動系統(tǒng) 190
7.4 遺漏的軟件包 195
7.5 安裝臨時系統(tǒng) 196
7.6 啟動龍芯機器 203

第三階段 制作目標系統(tǒng)
第08章 目標系統(tǒng)工具鏈
8.1 為編譯做準備 209
8.2 完善臨時系統(tǒng) 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 程序調(diào)試工具(GDB) 216
8.2.7 DWARF調(diào)試信息工具(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文件制作環(huán)境完善 225
8.4.1 RPM擴展包
(Redhat-Rpm-Config) 225
8.4.2 修改源代碼包 225
8.4.3 強制編譯源代碼包 226
8.5 發(fā)行版信息包 228
8.5.1 發(fā)行版?zhèn)}庫源信息包
(Fedora-Repos) 228
8.5.2 發(fā)行版版本信息包
(Fedora-Release) 228
8.5.3 安裝循環(huán)依賴 229
8.6 循環(huán)依賴 231
8.6.1 什么是循環(huán)依賴 231
8.6.2 依賴條件的類型 232
8.6.3 破壞與還原 233
8.6.4 循環(huán)依賴解決建議 237
8.7 標準化系統(tǒng)軟件包 239
8.7.1 ISO代碼標準(ISO-Codes) 239
8.7.2 基礎(chǔ)配置文件集合(Setup) 239
8.7.3 根目錄結(jié)構(gòu)(Filesystem) 240
8.7.4 基礎(chǔ)系統(tǒng)虛包(Basesystem) 243
8.8 目標系統(tǒng)的工具鏈 243
8.8.1 內(nèi)核頭文件(Kernel-Header) 244
8.8.2 基礎(chǔ)C庫(Glibc) 247
8.8.3 調(diào)整工具鏈 253
8.8.4 ZIP格式支持庫(Zlib) 255
8.8.5 哈希密碼函數(shù)庫(Libxcrypt) 257
8.8.6 匯編工具集(Binutils) 259
8.8.7 任意精度算法庫(GMP) 264
8.8.8 高精度浮點數(shù)算法庫(MPFR) 267
8.8.9 任意高精度的復(fù)數(shù)計算庫
(LibMPC) 267
8.8.10 集合和關(guān)系的數(shù)學算法庫(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章 殘破的目標系統(tǒng)
9.1 制作階段須知 286
9.1.1 多庫支持(Multilib) 286
9.1.2 修改SRPM文件 286
9.1.3 自舉(BootStrap) 287
9.1.4 循環(huán)依賴 288
9.1.5 補丁文件 289
9.1.6 制作順序 289
9.1.7 軟件包的測試 289
9.2 基礎(chǔ)目標系統(tǒng) 290
9.2.1 系統(tǒng)交互環(huán)境 290
9.2.2 常用系統(tǒng)工具 293
9.2.3 系統(tǒng)基礎(chǔ)軟件包 303
9.2.4 圖形相關(guān)軟件包 317
9.2.5 文檔相關(guān)軟件包 326
9.2.6 系統(tǒng)安全組件 336
9.2.7 包管理工具 348
9.2.8 啟動相關(guān)軟件包 355
9.2.9 配置和重啟系統(tǒng) 372
第 10章 完善目標系統(tǒng)
10.1 臨時軟件倉庫 376
10.1.1 倉庫管理工具 376
10.1.2 創(chuàng)建本地倉庫 383
10.1.3 倉庫配置文件 384
10.1.4 倉庫索引文件 386
10.1.5 使用本地倉庫 387
10.2 堅硬的自依賴 395
10.2.1 逆交叉工具鏈 396
10.2.2 回歸創(chuàng)作基地 407
10.2.3 解決自依賴 411
10.3 家族類軟件包 416
10.3.1 循環(huán)構(gòu)建腳本 416
10.3.2 準備循環(huán)構(gòu)建環(huán)境 418
10.3.3 Perl家族類軟件包 419
10.3.4 Python家族類軟件包 424
10.4 圖形桌面交互環(huán)境 427
10.4.1 圖形桌面基礎(chǔ)軟件包 427
10.4.2 Xwindow圖形系統(tǒng) 440
10.4.3 登錄管理器 444
10.4.4 圖形桌面環(huán)境 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 重構(gòu)軟件包 481
10.5.3 分布式編譯 485
10.5.4 重構(gòu)當前系統(tǒng) 492
10.5.5 構(gòu)建全部軟件包 495

第四階段 制作發(fā)行版
第 11章 軟件倉庫
11.1 分組文件 507
11.1.1 下載分組文件 507
11.1.2 分組文件的內(nèi)容 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 發(fā)布公鑰 514
11.2.7 驗證安裝簽名軟件 516
11.3 發(fā)布軟件倉庫 517
11.3.1 安裝Web服務(wù) 517
11.3.2 配置軟件倉庫 519
11.3.3 動態(tài)倉庫地址 521
11.3.4 同步軟件倉庫 527
11.3.5 維護軟件倉庫 529
第 12章 制作安裝鏡像
12.1 啟動鏡像制作工具 532
12.1.1 相關(guān)準備 532
12.1.2 制作啟動鏡像文件 534
12.1.3 使用啟動鏡像文件 536
12.2 操作系統(tǒng)的安裝 538
12.2.1 相關(guān)準備 538
12.2.2 圖形桌面的Live系統(tǒng) 539
12.2.3 安裝操作系統(tǒng) 541
12.3 查看和修改Live系統(tǒng) 544
第 13章 包構(gòu)建管理系統(tǒng)
13.1 包構(gòu)建工具 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 包管理系統(tǒng) 551
13.2.1 了解Koji 551
13.2.2 Koji的安裝 552
13.2.3 Koji的使用 568
結(jié)束語
展開全部

用“芯”探索:教你構(gòu)建龍芯平臺的Linux系統(tǒng) 作者簡介

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

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