Linux From Scratch

指導使用者從原始碼建構自訂Linux系統的書籍

Linux From Scratch》(LFS)是傑勒德·比克曼斯英語Gerard Beekmans等人編寫的安裝Linux的教科書,描述了從原始碼編譯Linux系統的方法。這本書可以從在Linux From Scratch網站上免費下載到。

Linux From Scratch
開發者傑勒德·比克曼斯等
作業系統家族類Unix系統
運作狀態當前
原始碼模式開源軟件自由軟件
首次釋出-
目前版本
  • 12.2(2024年9月1日;穩定版本)[1]
編輯維基數據連結
更新方式基於原始碼
軟件套件管理系統無(基於原始碼)
支援平台IA-32x86-64ARM架構(基於原始碼)
內核類別整塊性核心
預設用戶介面Bash
特許條款共享創意MIT特許條款
官方網站www.linuxfromscratch.org

為了保持LFS的基本性和專注性,另一本書《Beyond Linux From Scratch》(BLFS)提供了在LFS的基礎上,進一步完善Linux基本系統的指引。在BLFS中,讀者可以學習到如何為系統增加網絡、X桌面、聲音、印表機和掃描器支援。從5.0版開始,BLFS開始與LFS的版本號保持同步。[2]

除了LFS和BLFS,還有描述交叉編譯的《Cross Linux from Scratch》(CLFS)以及專注於安全的《Hardened Linux From Scratch》(HLFS)。

步驟

編輯

儘管目標是安裝一個與現有發行版毫無關係的系統,安裝LFS仍然不能無中生有,而必須要有一個可以編譯軟件套件的執行中的Linux系統。這個系統一般稱為宿主系統。對於新機器,可以選用Linux發行版提供的光碟作業系統(LiveCD)作為宿主。LFS工程曾提供LiveCD但當前不提供。在宿主作業系統上安裝LFS,需要的步驟如下:

  1. 對硬碟分區,添加用於安裝LFS的用戶和組(LFS教科書第2章)
  2. 下載所有需要的軟件套件原始碼(LFS教科書第3章)
  3. 準備開發環境(LFS教科書第4章)
  4. 構造一個基本開發環境(稱為工具鏈)(LFS教科書第5章)
  5. 構造完整的目標系統(LFS教科書第6章)
  6. 組態系統啟動指令碼(LFS教科書第7章)
  7. 啟動系統(LFS教科書第8章)

相關專案

編輯

該專案有很多相關子專案:

Beyond Linux From Scratch(BLFS)
標準LFS僅僅安裝了足夠讓系統啟動的基本軟件,以及使新系統能夠編譯新軟件套件的開發工具。BLFS包括了更多的軟件套件,且都有相應指導。
Cross Linux From Scratch(CLFS)
為需要進行交叉編譯(即在一個平台上編譯另一個平台的代碼)的用戶提供指導,正式版本為1.0,另有兩個變種
  • CLFS Sysroot 採用Sysroot的方法來進行編譯,好處是軟件套件的編譯次數可以減少,壞處是不能支援在編譯後對軟件進行測試,必須要啟動到目標平台上才能測試。
  • CLFS Embedded 一般用於極小系統以及嵌入式系統。為此,它使用uclibc而不是一般LFS使用的glibc
  • 該專案已停止維護,其官網已無法訪問
Automated Linux From Scratch(ALFS)
標準LFS只是一本書,用戶需要根據書上的指引下載軟件套件並手動輸入指令進行編譯。ALFS子專案提供了把這一切自動化的指令碼。
Hardened Linux From Scratch(HLFS)
這個子專案致力於打造在安全性上無懈可擊的Linux系統。
Hints
收集一些解釋性、增強性的文件,以協助用戶
LiveCD
利用LFS的方法生成可以自行啟動並安裝了足夠軟件的CD,可以用來在空機器上安裝LFS,或者直接在其上執行應用,已經停止維護 [3]
Patches
由於軟件之間的依賴關係,在升級軟件套件之後可能會導致LFS的過程出現故障。Patch專案致力於研究最新版本的軟件之間的互動,並提供一些修補程式修復這些故障。

除此之外,該專案另有一個名為CBLFS(Community Driven BLFS)的專案,該專案實際是一個Wiki網站,依靠網友的自發貢獻來提交各種軟件套件的安裝方式。

參考文獻

編輯
  1. ^ Version 12.2. 2024年9月1日 [2024年9月1日]. 
  2. ^ Gerard Beekmans: Beyond Linux From Scratch, Version 6.3 (August 2008)
  3. ^ LFS LiveCD Project. [2011-11-10]. (原始內容存檔於2017-07-19) (英語). Note: The LiveCD is no longer being maintained. However, it still works well for many purposes, such as a rescue disk. The packages and the rendered LFS book on the CD are quite out of date. 

外部連結

編輯