Linux from Scratch 版本 R11.0-36-中⽂翻译版 发布于 2021 年 9 ⽉ 21 ⽇
Total Page:16
File Type:pdf, Size:1020Kb
Linux From Scratch 版本 r11.0-36-中⽂翻译版 发布于 2021 年 9 ⽉ 21 ⽇ 由 Gerard Beekmans 原著 总编辑:Bruce Dubbs Linux From Scratch: 版本 r11.0-36-中⽂翻译版 : 发布于 2021 年 9 ⽉ 21 ⽇ 由 由 Gerard Beekmans 原著和总编辑:Bruce Dubbs 版权所有 © 1999-2021 Gerard Beekmans 版权所有 © 1999-2021, Gerard Beekmans 保留所有权利。 本书依照 Creative Commons License 许可证发布。 从本书中提取的计算机命令依照 MIT License 许可证发布。 Linux® 是Linus Torvalds 的注册商标。 Linux From Scratch - 版本 r11.0-36-中⽂翻译版 ⽬录 序⾔ .................................................................................................................................... viii i. 前⾔ ............................................................................................................................ viii ii. 本书⾯向的读者 ............................................................................................................ viii iii. LFS 的⽬标架构 ............................................................................................................ ix iv. 阅读本书需要的背景知识 ................................................................................................. ix v. LFS 和标准 ..................................................................................................................... x vi. 本书选择软件包的逻辑 .................................................................................................... xi vii. 排版约定 .................................................................................................................... xvi viii. 本书结构 .................................................................................................................. xvii ix. 勘误和安全公告 ......................................................................................................... xviii I. 引⾔ ................................................................................................................................... 1 1. 引⾔ .............................................................................................................................. 2 1.1. 如何构建 LFS 系统 ................................................................................................... 2 1.2. ⾃上次发布以来的更新 ............................................................................................... 2 1.3. 更新⽇志 ................................................................................................................. 3 1.4. 相关资源 ................................................................................................................. 3 1.5. 如何求助 ................................................................................................................. 4 II. 准备⼯作 ............................................................................................................................ 6 2. 准备宿主系统 .................................................................................................................. 7 2.1. 概述 ....................................................................................................................... 7 2.2. 宿主系统需求 ........................................................................................................... 7 2.3. 分阶段构建 LFS ....................................................................................................... 9 2.4. 创建新的分区 ......................................................................................................... 10 2.5. 在分区上建⽴⽂件系统 ............................................................................................. 11 2.6. 设置 $LFS 环境变量 ................................................................................................ 12 2.7. 挂载新的分区 ......................................................................................................... 13 3. 软件包和补丁 ................................................................................................................ 14 3.1. 概述 ..................................................................................................................... 14 3.2. 全部软件包 ............................................................................................................ 15 3.3. 必要的补丁 ............................................................................................................ 22 4. 最后准备⼯作 ................................................................................................................ 24 4.1. 概述 ..................................................................................................................... 24 4.2. 在 LFS ⽂件系统中创建有限⽬录布局 ......................................................................... 24 4.3. 添加 LFS ⽤⼾ ........................................................................................................ 24 4.4. 配置环境 ............................................................................................................... 25 4.5. 关于 SBU .............................................................................................................. 27 4.6. 关于测试套件 ......................................................................................................... 28 III. 构建 LFS 交叉⼯具链和临时⼯具 ......................................................................................... 29 重要的提前阅读资料 ......................................................................................................... xxx i. 概述 ....................................................................................................................... xxx ii. ⼯具链技术说明 ....................................................................................................... xxx iii. 编译过程的⼀般说明 ............................................................................................. xxxiv 5. 编译交叉⼯具链 ............................................................................................................. 35 5.1. 概述 ..................................................................................................................... 35 5.2. Binutils-2.37 - 第⼀遍 ............................................................................................. 36 iii Linux From Scratch - 版本 r11.0-36-中⽂翻译版 5.3. GCC-11.2.0 - 第⼀遍 ............................................................................................... 38 5.4. Linux-5.14.3 API 头⽂件 ......................................................................................... 41 5.5. Glibc-2.34 ............................................................................................................. 43 5.6. GCC-11.2.0 中的 Libstdc++,第⼀遍 ......................................................................... 46 6. 交叉编译临时⼯具 .......................................................................................................... 47 6.1. 概述 ..................................................................................................................... 47 6.2. M4-1.4.19 ............................................................................................................. 48 6.3. Ncurses-6.2 .......................................................................................................... 49 6.4. Bash-5.1.8 ............................................................................................................ 51 6.5. Coreutils-8.32 ....................................................................................................... 52 6.6. Diffutils-3.8 .......................................................................................................... 53 6.7. File-5.40 ............................................................................................................... 54 6.8. Findutils-4.8.0 ...................................................................................................... 55 6.9. Gawk-5.1.0 ............................................................................................................ 56 6.10. Grep-3.7 ............................................................................................................. 57 6.11. Gzip-1.11 ............................................................................................................ 58 6.12. Make-4.3 ............................................................................................................. 59 6.13. Patch-2.7.6 .......................................................................................................... 60 6.14. Sed-4.8 ............................................................................................................... 61 6.15. Tar-1.34 .............................................................................................................. 62 6.16. Xz-5.2.5 .............................................................................................................. 63 6.17. Binutils-2.37 - 第⼆遍 ........................................................................................... 64 6.18. GCC-11.2.0 - 第⼆遍 ............................................................................................. 65 7. 进⼊ Chroot 并构建其他临时⼯具 ..................................................................................... 67 7.1. 概述 ..................................................................................................................... 67 7.2. 改变所有者 ............................................................................................................ 67 7.3. 准备虚拟内核⽂件系统 ............................................................................................. 67 7.4. 进⼊ Chroot 环境 ................................................................................................... 68 7.5. 创建⽬录 ..............................................................................................................