这是 Linux From Scratch 手册的 10.0 版本,发布于 2020 年 9 月 1 日。如果该版本已经发布了六个月或更久,可能已经发布了更好的新版本。如果要查询是否有新版本,通过 http://www.linuxfromscratch.org/mirrors.html 访问一个 LFS 镜像站。
下面是本书自上一版本发布以来的更新日志。
更新日志记录:
2020 年 9 月 1 日
[bdubbs] — LFS-10.0 发布。
2020 年 8 月 28 日
[bdubbs] — 更新到 iana-etc-20200821。修复 #4722。
2020 年 8 月 24 日
[bdubbs] — 更新到 linux-5.8.3。修复 #4718。
2020 年 8 月 18 日
[dj] — 更新到 lfs-bootscripts-20200818。
2020 年 8 月 11 日
[renodr] — 更新到 check-0.15.2。修复 #4711。
2020 年 8 月 10 日
[ken] — 确保本书中的 Perl 模块均被安装到 /usr/lib/perl5/5.32 (之前有一些被安装到 /usr/share/perl5)。修复 #4710。
2020 年 8 月 4 日
[bdubbs] — 更新到 gettext-0.21。修复 #4704。
[bdubbs] — 更新到 binutils-2.35。修复 #4702。
[bdubbs] — 更新到 gcc-10.2.0。修复 #4701。
[bdubbs] — 更新到 check-0.15.1。修复 #4700。
[bdubbs] — 更新到 bison-3.7.1。修复 #4699。
[bdubbs] — 更新到 util-linux-2.36.0。修复 #4698。
[bdubbs] — 更新到 libcap-2.42。修复 #4703。
[bdubbs] — 更新到 linux-5.7.12。修复 #4697。
2020 年 7 月 15 日
[bdubbs] — 更新到 vim-8.2.1206。处理 #4500。
[bdubbs] — 更新到 Python3-3.8.4。修复 #4692。
[bdubbs] — 更新到 meson-0.55.0。修复 #4691。
[bdubbs] — 更新到 libcap-2.39。修复 #4690。
[bdubbs] — 更新到 kbd-2.3.0。修复 #4689。
[bdubbs] — 更新到 mpfr-4.1.0。修复 #4688。
[bdubbs] — 更新到 linux-5.7.8。修复 #4686。
[bdubbs] — 更新到 sysvinit-2.97。修复 #4685。
[bdubbs] — 更新到 bc-3.1.3。修复 #4684。
2020 年 7 月 7 日
[pierre] — 使 libelf 在 /lib 中安装好,因为在挂载 /usr 之前 iproute2 可能需要它 (报告人 Roger)。
2020 年 7 月 6 日
2020 年 7 月 4 日
[pierre] — 在第 8 章结束时,删除 /tools 和文件名包含 {i686,x86_64}-lfs 的文件。
[pierre] — 在第二遍的 libstdc++ 中添加 --host= 选项,使得与特定 host 相关的头文件被安装到专用于该 host 的目录中。
[pierre] — 修正临时的 Python,不安装它的静态库。
2020 年 6 月 16 日
[bdubbs] — 将第 5 章拆分成三章。实现新的交叉编译 LFS 工具链和其他工具的构建方法,以简化将新系统与宿主系统隔离的过程。这将会是 LFS-10.0的起点。
2020 年 6 月 3 日
2020 年 5 月 31 日
[pierre] — 修复 bash 测试套件:增加一些从 /bin 指向 /tools 的符号链接,以 tty 所有者的权限创建 tester 用户,使用 su << EOF 运行 bash 测试,并显式定义 stdin (在 thomas 和 bdubbs 的帮助下完成)
2020 年 5 月 29 日
[xry111] — 将 flex 移到第 6 章更早的位置,这样 binutils 就可以使用它。
[xry111] — 从第 5 章删除 bzip2 和 flex
[xry111] — 将 zstd 移到第 6 章更早的位置,这样 file 和 GCC 就能使用它。
[bdubbs] — 以非特权用户身份运行 sed 和 findutils 测试。修复 #4661。
2020 年 5 月 28 日
2020 年 5 月 27 日
[pierre] — Bash: 记录测试结果。
2020 年 5 月 26 日
[pierre] — Bash: 不要使用 "su -c command" 命令切换到 nobody 用户:这会移除控制终端并且导致一些测试失败。使用 "su << EOF" 代替它。
[pierre] — 使用 "--bind" 挂载 /dev/pts,这样 "tty"就可以知道它在终端中运行。修复 coreutils 的一项测试。
[pierre] — 增加补丁以修复 gold 测试套件中的一项失败测试,这个测试套件的某些测试确实需要 -fcommon。
[pierre] — 修复 automake 测试套件中的一项失败测试。
[pierre] — 更新到 vim-8.2.0814。
[pierre] — 建立从 /tools/lib/locale 到 /usr/lib/locale/locale-archive 的符号链接,使得一些程序可以找到安装的 locale。修复 bison 和 man-db 的测试失败。
2020 年 5 月 21 日
[pierre] — 修复使用内核配置 CONFIG_STACK_PROTECTOR_STRONG=y 时,在引导早期阶段发生的崩溃。
2020 年 5 月 16 日
2020 年 5 月 9 日
[pierre] — 在第二遍构建 GCC 时打补丁,从而允许交叉编译 (仅用于新的交叉编译方法)。
2020 年 5 月 8 日
2020 年 5 月 1 日
2020 年 4 月 23 日
[ken] — 更新到 openssl-1.1.1g (安全修补)。修复 #4643.
2020 年 4 月 20 日
[pierre] — 在 "调整工具链" 时,将 -isystem 改为 -idirafter。这允许在查找公共头文件目录前,先查找 g++ 内部头文件,这与正常的搜索顺序一致,但缺点是如果 /usr 和 /tools 中存在相同的头文件,就会找到 /tools 中的。几乎修复 #4641。
2020 年 4 月 19 日
[pierre] — 对于本书的两个版本,都在第 5 章构建 util-linux。为 util-linux 库和头文件创建从 /usr 指向 /tools 的链接。将 util-linux 的 pkg-config 文件从 /tools 复制到 /usr,并将其中所有出现 /tools 的地方改为 /usr。另外,将 eudev 移到 util-linux 之前。修复 #4637,#4638,以及 #4642。
[pierre] — 在第 5 章重新引入 flex,这样 ar 和 ranlib (binutils 中的工具) 可以链接到 libfl。这也允许运行 bison 的测试。修复 #4631。
[pierre] — 添加配置开关 --with-curses,防止 readline.pc 将 termcap 作为内部库引用。修复 #4635。
[pierre] — 通过将 gettext 移到 bison 之前,允许 bison 使用来自 gettext 的 libtextstyle.so 库。修复 #4634。
[pierre] — 通过将 libcap 移到 shadow 之前,允许一些 shadow 程序使用 "setcap"。修复 #4633。
[pierre] — 修复 shadow 软件包中一些程序硬编码的错误路径。修复 #4632。
2020 年 4 月 15 日
2020 年 4 月 1 日
[bdubbs] — 更新到 vim-8.2.0486。处理 #4500。
[bdubbs] — 更新到 elfutils-0.179。修复 #4621。
[bdubbs] — 更新到 meson-0.54.0。修复 #4620。
[bdubbs] — 更新到 e2fsprogs-1.45.6。修复 #4619。
[bdubbs] — 更新到 automake-1.16.2。修复 #4618。
[bdubbs] — 更新到 xz-5.2.5。修复 #4617。
[bdubbs] — 更新到 openssl-1.1.1f。修复 #4616。
[bdubbs] — 更新到 perl-5.30.2。修复 #4614。
2020 年 3 月 29 日
[bdubbs] — 文本更新,感谢 Kevin Buckley 的建议。
2020 年 3 月 15 日
2020 年 3 月 2 日
2020 年 3 月 1 日
[bdubbs] — LFS-9.1 发布。