×
超值优惠券
¥50
100可用 有效期2天

全场图书通用(淘书团除外)

关闭
用“芯”探索 叫你构建龙芯平台的Linux系统

用“芯”探索 叫你构建龙芯平台的Linux系统

1星价 ¥27.9 (5.7折)
2星价¥27.9 定价¥49.0
暂无评论
图文详情
  • ISBN:9787115558497
  • 装帧:暂无
  • 册数:暂无
  • 重量:暂无
  • 开本:16开
  • 页数:575
  • 出版时间:2020-12-01
  • 条形码:9787115558497 ; 978-7-115-55849-7

内容简介

本书通过讲解如何在龙芯CPU下制作Linux系统及其发行版来介绍Linux操作系统的组成,同时为读者提供了一种为非x86架构CPU制作和移植发行版的思路。本书将制作Linux系统的过程分为准备、制作临时系统、制作目标系统、制作发行版4个阶段。准备阶段可让读者对实际制作过程中用到的技术细节有所了解;制作临时系统阶段介绍如何为没有可用系统的机器制作一个可用的系统;制作目标系统阶段介绍如何在一个临时系统的基础上将Fedora系统移植到目标机器上;制作发行版阶段配合软件仓库、安装系统、包构建管理制作等对目标系统进行扩展,完成一个相对完整的发行版的制作。

目录

第 一阶段 准备 第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 结束语
展开全部

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航