有时 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
)。