我开始使用 LFS 书来构建 homemode Linux。我来到了第二部分。 - 第5章“构建临时系统”。我将所有需要的源下载到/mnt/lfs/sources。当我想开始构建软件包并安装时,我感到困惑。
我在过去的基于发行版的系统上从源代码安装了一些软件包。当我们使用 make install 安装编译源时,它会安装到系统目录(或者我知道是这样)。因此,如果我为 lfs 源运行 make install,它会安装到主机系统目录而不是 lfs 系统目录吗?
答案1
仔细阅读LFS书中的所有内容!
第 5 章中编译的所有程序都将安装在下面,
$LFS/tools
以使它们与第 6 章中编译的程序分开。 ...通过以 root 身份运行以下命令来创建所需的目录:mkdir -v $LFS/tools
下一步是
/tools
在主机系统上创建符号链接。这将指向 LFS 分区上新创建的目录。也以 root 身份运行此命令:ln -sv $LFS/tools /
本章编译的文件将安装在$LFS/tools目录下,以与下一章安装的文件和主机生产目录分开。由于这里编译的包是临时的,我们不希望它们污染即将推出的 LFS 系统。
现在准备 Binutils 进行编译:
../configure --prefix=/tools \ --with-sysroot=$LFS \ --with-lib-path=/tools/lib \ --target=$LFS_TGT \ --disable-nls \ --disable-werror
配置选项的含义:
--prefix=/tools
这告诉配置脚本准备在 /tools 目录中安装 Binutils 程序。
--with-sysroot=$LFS
对于交叉编译,这告诉构建系统根据需要在 $LFS 中查找目标系统库。
所以如果你把每件事都做得很好(就像 LFS 书中那样),它应该会运作良好:)