boot/root盤由兩部分組成,即核心和根文件系統。要把這兩部分都放到一個1.44MB的軟盤上去,通常要對內核和根文件系統進行壓縮,壓縮核心的最好方法是進行重新編譯內核,將一些不必要的支持去掉,如對網絡和其它周邊設備的支持,重要的一點是記住內核必須支持RAMDISK及ext2,否則系統不能正常引導。關於內核的編譯本文不再闡述,下面重點介紹如何生成根文件系統的壓縮包。對於根文件系統的壓縮包括兩方面的問題,第一是只保留必要的根文件系統組件,第二是將根文件系統做成一個壓縮包,類似於內核工作的原理。 (1)根文件系統概述 一個根文件系統必須包括支持完整Linux系統的全部東西,它至少應包括以下幾項: 基本文件系統結構 至少含有以下目錄:/dev、 /proc、 /bin、 /etc、 /lib、 /usr、 /tmp 最基本的應用程序,如sh、 ls、 cp、 mv等 最低限度的配置文件,如rc、 inittab、 fstab等 設備:/dev/hd*、 /dev/tty*、 /dev/fd0 基本程序運行所需的庫函數 以上所需文件一般情況下會超過1.44M,因此我們通常的做法是先准備好內容後再壓縮到軟盤中,當用軟盤啟動時,再把文件解壓到內存中,形成一個虛擬盤(RAMDISK),通過RAMDISK控制系統啟動。 為了能創建以上的根文件系統,你必須有一個空閒的能夠放下大約4MB文件的RAMDISK。系統缺省情況下已替我們建好了一個大小為4096KB的RAMDISK,其設備名一般為/dev/ram0,我們就使用它來保存我們預先准備好的根文件系統。 (2) 創建根文件系統 Linux內核識別兩種可以直接拷貝到RAMDISK的文件系統,它們是minix 和ext2,ext2性能更好。mke2fs缺省情況下在1.44M的軟盤上產生360個信息節點,使用壓縮格式的根文件系統需要更多的信息節點,所以使用如下命令創建文件系統可以創建2000個信息節點,而且一般不會用完。 mke2fs -m 0 -i 2000 /dev/ram0 mke2fs將會自動判斷設備容量的大小並相應地配置自身,-m 0參數防止它給root保留空間,這樣會騰出更多的有用空間。接著把虛擬盤掛在節點/mnt上: mount -t ext2 /dev/ram0 /mnt/floppy