我們首先要安裝一個Linux發行套件比如小紅帽(RedHat)到一個分區上,然后 使用它來在另一個分區上打造一個新的Linux系統.我將我們所要打造的系統 稱為目標(target)而把我們所使用來打造新系統的系統稱為源頭(source). 可別把這個源頭(source)同我們同時使用的源碼(source code)相 混淆了哦.:)
因此,您得需要一台具有兩個獨立分區的機器.如果可能,請盡量使用一台 沒有重要資料在里頭的機器,以免數據受損.您可以使用一個已經存在的 Linux系統作為源頭系統,但是我并不推荐這種方式.如果您不慎遺漏了我們 打造的指令的某些參數,您有可能會意外地在這個系統上安裝了一些沒有必要 的東西,有可能會導致不兼容和沖突.
舊型的PC機硬件,大部分的486機器或者更早的機型,其BIOS都有一些極其
煩人的限制.它們沒有辦法讀取硬盤超過前512兆之后的空間.當然,這個
對于Linux來說并不是什么大問題,因為只要Linux能夠引導啟動了,將使用
Linux自己的磁盤IO,略過BIOS的調用.但是為了能夠讓這些舊型機器能夠
引導Linux,那么Linux內核必須存放在硬盤的前512兆之前的某個位置.如果您
正好有這么個舊型機器,您得准備好一個獨立的且完全在前512兆范圍內的
硬盤分區,并將其挂載為/boot
.其它的分區就可以在任何位置,
可以任意處理而不必擔心是在硬盤的什么位置了.
上一次我打造這個系統時,所使用的源頭系統是小紅帽6.1(RedHat 6.1), 我安裝了基本系統,附加有以下軟件包︰
我還安裝了X Window視窗系統和Mozilla網絡瀏覽器以便更輕松地閱讀文檔, 而實際上這兩個東東并不是必要的.在我竣工之時,這個源頭系統大概使用 了350兆的磁盤空間(看起來是多了一些,可是我還在納悶為什么呢).
竣工之時的目標系統占用了650兆磁盤空間,但是這個數值包含了所有的源碼
以及中途打造出來的文件.如果空間比較緊湊,您應該在每個軟件包都打造
完畢之后執行一下make clean
來清除臨時文件.當然了,我對這個
也是有點吃驚的.
最后,您的准備好我們所要用來打造系統的源碼包.這些就是我在本文所討論 的軟件包.這些軟件包都可以從源碼盤里面找到,或者從國際互聯網上找到. 我會給出美國的站點和位于澳大利亞的鏡像站點的地址.
agetty
和login
.
總結一下,您所需要的就是︰
我假定您可以自己安裝源頭系統,而用不著我來幫忙.從這里開始,我假定源頭 系統已經安裝好了.
本小項目的第一個里程碑就是使得內核啟動起來然后死翹翹,因為它沒找到
init
初始化程序.也就是說我們得安裝一個內核和安裝lilo.為了
順利安裝lilo,我們要用上在目標系統上/dev
目錄下的設備文件.
lilo需要它們來實現底層必需的磁盤存取來寫入引導扇區.MAKEDEV正是用來
創建這些設備文件的腳本程序(您當然可以只需要從源頭系統當中復制出來,
不過這可是作弊不勞而獲哦).但是最重要的事情就是,我們需要一個文件
系統來放置所有的這些東西.