有時 root filesystem 會因太大而無法塞入一張軟碟片內,甚至在壓縮過後還是這樣。這裡有一些方法可減少 filesystem 的 size :
fdformat
man page與 /usr/src/linux/Documentation/devices.txt 。
bash
與 tcsh
,是相當大且需要許多函式庫。 Light-weight 的選擇於是存在,諸如 ash
, lsh
, kiss
與 smash
,它們小很多而且只需要很少 (或是不需要)函式庫。大部分這些用來代替的 shells 可以在
http://metalab.unc.edu/pub/Linux/system/shells/ 找得到。請確定你所使用的任何 shell ,能夠執行你放在你 bootdisk 內的所有 rc 檔案中的指令。
file
會告訴你 ``not stripped
'' 。
當 copy 二進位檔到你的 root filesystem 時,這是一個好練習去使用:
objcopy --strip-all FROM TO當 copy 函式庫時,請確定使用的是
strip-debug
而不是 strip-all
。
Building a root filesystem 這一節曾給予指示以建造一個壓縮的 root filesystem ,它會在系統開機時被載入到 ramdisk 。這個方法有許多優點,所以通常都採用此法。然而,一些只有一點點記憶體的系統無法負擔此法所需的 RAM ,因此,這些系統必須使用直接從軟碟片掛上的 root filesystems 。
這樣的 filesystems 實際上比壓縮的 root filesystems 更容易建造,因為它們可以被造在一張磁片上,而非某個其它的設備上,另外,它們也不必被壓縮。當異於前述的指示時,我們將敘述該程序的要點。如果你選擇這樣做,請記得你可獲得的剩餘 空間會變少 。
mke2fs
,在適當 size 的軟碟片上造出一個 root filesystem 。
rdev
指令。
有好幾種捷徑你可採用。如果你建造的是一套雙磁片組,你可以直接把完整的 root filesystem建造在第二張磁片上,而且你並不需要把它傳送成一個硬碟檔案然後再存回磁片上。同樣地,如果你建造的是一張單一的 boot/root 磁片而且使用 LILO ,你可以在整張磁片上建立 單一的 filesystem,包含 kernel 、 LILO files 與 root files ,然後只要執行 LILO 做為最後一步。
建造一張工具磁片相對來說簡單多了 -- 只要在一張已格式化的磁片上造出一個 filesystem ,然後 copy 檔案於其上即可。為了跟 bootdisk 一起使用它,請在系統啟動以後,用手動的方式 mount 它。
在前面的指示中,我們曾提及 utility disk 可以被 mount 做為 /usr 。在這個情況下,二進位檔可以被放在你 utility disk 之 /bin 目錄內,以便於將 /usr/bin 設入你的 path 中可以存取它們。二進位檔所需之其它函式庫被放在 utility disk 之 /lib 目錄內。
當設計 utilitu disk 時,有幾個重點要記住:
Sample utility disk directory listing 提供了utility disk的檔案之樣本。以下是一些建議關於一些你會發現有用的檔案:檢查與操作磁片(format, fdisk
)、 filesystems (mke2fs, fsck, debugfs, isofs.o
)的程式,小型的文書編輯器 (elvis, jove
),壓縮與檔案工具 (gzip, tar, cpio, afio
), 磁帶工具 (mt, tob, taper
),通訊工具 (ppp.o, slip.o, minicom
)與給設備使用的工具 (setserial, mknod
)。