本文将带领大家构建一个迷您型的 Linux 系统。他占用的硬盘空间远小于 16M 字节,但是却包括了 XFree86 的 X Window 窗口系统。

目标

本文要构建的这个迷您型的 Linux 系统只能在一台特定的单机上运行,假如读者朋友们有兴趣的话,在这个系统的基础上加以改进,是能够构建出通用的、能够在大多数常规 PC 机上即插即用的系统来的。但是这已不在本文的话题之内了,读者朋友们假如有兴趣,能够通过我的电子邮件和我讨论其中的细节问题。

我们的目标 Linux 系统运行在一台普通的 Intel 386 PC 机上,能够有硬盘,也能够不要硬盘,而用 Flash Disk 来代替。假如是用 Flash 盘的话,需要能够支持从 Flash 盘启动,而且 Flash 盘的大小要在 16M 字节或以上。我们希望用户一开机启动,就直接进入 X Window 图像界面,运行事先指定好的程式。无需用户输入用户名和密码进行登录。

我们设定的这个目标有点像一个 X Terminal 终端工作站。稍加改进,还能够做成干脆无盘的形式,也就是说,连 16M 的 Flash 盘也不要了。但是,这也超出了本文的话题了。读者朋友们假如有兴趣,能够来信和我进行讨论。

mount -o loop -t cramfs /usr.img /usr

这样,就能够经由 loopback 设备,把 usr.img 这个 cramfs 的 image 文档 mount 到 /usr 目录上去了。哦,对了,由于要用到 loopback 设备,读者朋友们在编译内核的时候,别忘了加入内核对这个设备的支持。对于系统今后的运行来说,这个 mount 的效果是透明的。cramfs 的压缩效率一般都能达到将近 50%,而我们的系统上绝大部分的内容是位于 /usr 目录下面,这样一来,原本可能要用到 18M 的 Flash 盘,现在可能只需要 11M 就能够了。一个 14M 的 /usr 目录,给压缩成了仅仅 7M。

上面考虑了压缩问题,下面还要考虑到,Flash 盘毕竟不像普通硬盘,多次的擦写毕竟不太好,所以我们考虑,在需要多次擦写的地方,使用内存来做。这个任务,我们考虑用 tmpfs 来完成。至于 tmpfs 和经典的 ramdisk 的比较,我们这里就不多说了。一般说来,tmpfs 更加灵活一些,tmpfs 的大小不像 ramdisk,能够顺着用户的需要增长或缩小。我们选择把 /tmp、/var 等几个目录做成 tmpfs。这只需要我们在 /etc/fstab 里面加上两行类似下面的文字就能够了:



none /var tmpfs default 0 0

然后别忘了在 /etc/init.d/rcS 里面靠近开头的地方,加上 mount -a。这样,就能够把 /etc/fstab 里面指定的任何的文档系统都 mount 上来了。

X Window

进行到这里,读者朋友们可能会以为,X Window 的安装可能会很复杂。其实不然,由于我们上面的架子搭好了,X Window 的安装很简单,只需要把几个关键的程式拷贝过来就能够了。一般说来,只需要 /usr/X11R6 目录下面的 bin 和 lib 两个目录。然后,根据用户各自的需要,还能够做大幅的裁减。比如,假如您的局域网上有一个开放的 xfs 字体服务器的话,您能够把任何本地的字体都删掉,而使用远端的字体服务器。假如只需要运行有限的程式,别忘了把没有用的 library 都删掉。此外,还能够把多余的 X Window 的 driver 都删掉,只保留本机的显示卡所需要的 driver 就能够了。

当然,这一关免不了要做多次测试。

其他技巧

假如您的工作系统式在另外一台机器上,通过局域网和本机互联的话,ssh 是个不错的工具。此外,ssh 中带的 scp 用起来和普通的 cp 拷贝程式差不多,很方便。用 ssh 和 scp 来共享文档,远程试验,您就能够无需在办公室里跑来跑去的了。

假如您需要一个 MS Windows 上运行的 X Server 和 xfs 字体服务器,能够考虑包括在 Red Hat 的 Cygwin 工具箱中的 XFree86 系统。

参考资料

  1. BusyBox 的站点:http://www.busybox.net/
  2. Linux From Scratch,自己动手,从头开始做一个 Linux 系统:http://www.linuxfromscratch.org/
  3. uClibc 的站点:http://www.uclibc.org/
  4. Cygwin 的站点:http://www.cygwin.com/

关于作者

赵蔚,自由职业者。我的网络日记位于 http://www.advogato.org/person/zhaoway/ 。上面列有我在网络上发表的其他的文章。欢迎读者朋友们来信和我讨论问题。

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!