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