在本节中,我们开始将组成最终的 Linux 系统的内容填充到 LFS 文件系统中。首先,在 LFS 分区中创建一个有限的目录树,使得在第 6 章中编译的程序 (以及第 5 章中的 glibc 和 libstdc++) 可以被安装到它们的最终位置。这样,在第 8 章中重新构建它们时,就能直接覆盖这些临时程序。
以 root
身份,执行以下命令创建所需的目录布局:
mkdir -pv $LFS/{etc,var} $LFS/usr/{bin,lib,sbin} for i in bin lib sbin; do ln -sv usr/$i $LFS/$i done case $(uname -m) in x86_64) mkdir -pv $LFS/lib64 ;; esac
在第 6 章中,会使用交叉编译器编译程序
(更多细节可以在工具链技术说明一节找到)。这个交叉编译器会被安装到一个专用的目录中,从而将其和其他程序分离。仍然以
root
用户身份,执行以下命令创建该目录:
mkdir -pv $LFS/tools
LFS 编辑团队特意决定不使用 /usr/lib64
目录。本书中的一些步骤保证工具链不使用该目录。如果该目录被创建,无论原因如何 (可能是您在使用书中的命令时出现了偏差,或您在完成
LFS 构建后安装了一个创建该目录的二进制包),则它可能破坏您的系统。您应该经常检查并确认该目录不存在。