Linux

對 lfs 源安裝感到困惑

  • December 20, 2018

我開始使用 LFS 書進行家庭模式 Linux 建構。我來到了第二部分。- 第 5 章關於“建構臨時系統”。我將所有需要的源下載到 /mnt/lfs/sources。當我想開始建構包並安裝時,我弄糊塗了。

我在過去的基於發行版的系統上從原始碼安裝了一些軟體包。當我們使用 make install 安裝編譯的原始碼時,它會安裝到系統目錄(或者我知道這樣)。因此,如果我為 lfs 源執行 make install ,它會安裝到主機系統的目錄而不是 lfs 系統目錄嗎?

仔細閱讀 LFS 書中的所有內容!

創建 $LFS/tools 目錄

第 5 章編譯的所有程序都將安裝在第 6 章編譯的程序中,$LFS/tools 以使其與第 6 章編譯的程序分開。… 以 root 執行以下命令創建所需的目錄:

mkdir -v $LFS/tools

下一步是/tools在主機系統上創建符號連結。這將指向 LFS 分區上新創建的目錄。也以 root 身份執行此命令:

ln -sv $LFS/tools /

介紹

本章編譯的文件將安裝在 $LFS/tools 目錄下,與下一章安裝的文件和主機生產目錄分開。由於這裡編譯的包是臨時的,我們不希望它們污染即將成為 LFS 的系統。

binutils 的建構(第 1 部分)

現在準備 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 書中一樣)它應該工作得很好:)

引用自:https://unix.stackexchange.com/questions/490150