從 Linux From Scratch 開始創建你自己的操作系統
有無數不同的 Linux 發行版可用。他們中的許多人試圖滿足你的確切需求和風格。不過不是每個人都知道這一點,你也可以從頭開始創建自己的基于 Linux 的操作系統。以下就向你介紹是如何開始的。但也許你并不想花時間去檢查和測試每一個發行版本,特別是當它們已經超過 1000 個發行版的時候。要找到天作之合,這可能是一種耗時的方式,而且沒有保證。還有什么比自己制作操作系統更能讓你知道自己擁有了完美的匹配產品呢?這就是 Linux From Scratch 的用武之地。
什么是 Linux From Scratch?
Linux From Scratch (LFS) [1]項目專為使你能夠創建自己的 Linux 操作系統來滿足你的需求而創建,無論是用于特殊硬件調整、最大化性能、保持最前沿,還是學習 Linux 的內部結構。Linux From Scratch 不僅僅是另一個帶有最少必要工具的發行版。LFS 實際上只是一個文檔的集合,所以你所做的一切都來自每個項目的源代碼。換句話說,借助 LFS 文檔,你可以直接從他們的站點下載 Linux 內核的源代碼并進行編譯。然后你繼續下一個組件并從那里開始工作,直到你最終構建了一個完整的操作系統,或者至少構建了一個你需要的操作系統。
如何制作自己的 Linux 操作系統
在創建自己的 Linux 操作系統時,你需要了解必須使用 Linux 發行版來創建另一個發行版。這是因為,當你直接從源代碼創建所有內容時,你將需要大多數 Linux 發行版提供的通用工具來編譯和安裝 LFS 系統。也就是說,你不必安裝臨時發行版。你可以從 U 盤啟動 Linux,然后用它來做你需要做的所有事情。準備就緒后,請打開最新的 Linux From Scratch 文檔[2]以獲取有關如何開始的指導。該文檔將包含有關如何完成所需步驟的鏈接和詳細信息,本文不會完整介紹這些內容。
第 1 步:分區磁盤
打開文檔后真正的第一步是創建一個新分區,你將在其中安裝新的 LFS 操作系統。你可以堅持你通常做的事情,無論是將所有內容存儲在單個分區上,分離根分區和主分區,還是加密你的磁盤。
歡迎你使用你最喜歡的分區工具(例如 GParted)創建這些分區。如果你使用的是標準版本的 Ubuntu 或 Fedora,那么你很有可能已經安裝了 GNOME 磁盤。或者,你可以選擇使用命令行工具,例如 fdisk,無論你選擇何種發行版,該工具都可用。你可以選擇在現有操作系統的基礎上再創建一個系統,但要知道雙引導會帶來風險。Linux From Scratch 已經夠復雜了。你可能不想為增加的復雜性而煩惱。
第 2 步:編譯和安裝你的基本系統
?
準備好分區后,你需要前往第 3 章下載所有必要軟件包和補丁的源代碼。然后,在進行文檔第 4 章中定義的更多更改后,你將開始構建 LFS 系統的基本框架。按照指南,你將編譯構成工具鏈的工具,然后你將使用這些工具來構建其余的基礎知識。請注意,Linux From Scratch 有一個不同于標準發行版的“要素”概念,標準發行版附帶許多后臺服務,例如打印、音頻服務器和防火墻。你可以隨意安裝盡可能多的東西,但那是以后的事了。你的基本系統是你創建可獨立運行的可引導系統所需要的,而無需繼續從單獨的發行版繼續工作。完成基礎編譯后,你將“chroot”進入新系統。這相當于重新啟動到你的新操作系統,除非你不是從字面上重新啟動,并且更改僅適用于你的終端窗口。此時,你可以開始編譯構成新操作系統的所有其他內容。
第 3 步:安裝你的桌面、應用程序和所有其他設備
一旦你進行了簡單的配置,你就可以開始安裝其他軟件,使你的系統真正屬于你。你應該安裝哪些其他軟件完全取決于你、你的需要和你的需要。請記住,沒有包管理器。要安裝任何東西,你需要知道如何從源代碼編譯和構建軟件。這就是為什么 LFS 經常被描述為精通 Gentoo 的人的下一個級別的原因之一。如果構建這么多的軟件是令人不快的,你可能想還不如嘗試一下 Arch Linux。至于安裝哪個軟件,你有完全的自由。如果你想繼續本著從零開始盡可能多構建的精神,你可以決定構建自己的桌面環境,但是沒有什么可以阻止你選擇許多預先存在的選項之一。無論哪種方式,你都可以從最好的 Linux 應用程序中進行選擇。如果你已經做到了這一點,那么你很可能知道你希望建立什么樣的系統。玩得開心把電腦變成你自己的。
從 Linux From Scratch 值得嗎?
創建 LFS 操作系統肯定需要一些時間,因為編譯軟件不是一個快速的過程。沒有嘗試過 Linux 或對終端不滿意的人可能希望在深入研究之前從其他地方開始。如果無論如何都想從 Linux From Scratch 開始試驗,你可以在安全、隔離的位置(例如虛擬機或空間機器Space Machine)進行嘗試,這樣你就不會意外破壞有價值的數據。然后,無論如何,學習。有很多寶貴的知識,只有親身實踐才能獲得。