Linux
對 lfs 源安裝感到困惑
我開始使用 LFS 書進行家庭模式 Linux 建構。我來到了第二部分。- 第 5 章關於“建構臨時系統”。我將所有需要的源下載到 /mnt/lfs/sources。當我想開始建構包並安裝時,我弄糊塗了。
我在過去的基於發行版的系統上從原始碼安裝了一些軟體包。當我們使用 make install 安裝編譯的原始碼時,它會安裝到系統目錄(或者我知道這樣)。因此,如果我為 lfs 源執行 make install ,它會安裝到主機系統的目錄而不是 lfs 系統目錄嗎?
仔細閱讀 LFS 書中的所有內容!
第 5 章編譯的所有程序都將安裝在第 6 章編譯的程序中,
$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 書中一樣)它應該工作得很好:)