《Linux From Scratch》(LFS)是傑勒德·比克曼斯等人編寫的安裝Linux的教科書,描述了從原始碼編譯Linux系統的方法。這本書可以從在Linux From Scratch網站上免費下載到。
為了保持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,需要的步驟如下:
- 對硬碟分割區,添加用於安裝LFS的使用者和組(LFS教科書第2章)
- 下載所有需要的軟體套件原始碼(LFS教科書第3章)
- 準備開發環境(LFS教科書第4章)
- 構造一個基本開發環境(稱為工具鏈)(LFS教科書第5章)
- 構造完整的目標系統(LFS教科書第6章)
- 組態系統啟動指令碼(LFS教科書第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網站,依靠網友的自發貢獻來提交各種軟體套件的安裝方式。
參考文獻
外部連結
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.