自己动手做一个迷你型Linux操作系统
/dev/hdb1 作为 root 文件系统.两个办法可能有的时候一个比另一个好,更方便一些.这就要看具体的情况了.不过,它们的设置并不是互相冲突的.
在编译内核的时候,我们的内核是只有一台机器使用的,我们应该对它的情况了如指掌;另外一方面,为了减低不必要的复杂性,我们决定不用 kernel module 的支持,而把所有需要的东西直接编译到内核的里面.这样编译出来的内核,在一台普通的 586 主板上,把所有必要的功能都加进去,一般也不到 800K 字节.,这个办法是可行的.减低了 init scripts 的复杂程度.从运行方面来考虑,需要的 kernel 代码反正是要装载到内存中的,并不会引起内存的浪费. 在我们的目标平台上,我们希望使用 USB 存储设备.还有一点要注意的,就是对 Frame buffer 的支持.这主要是为了支持 XFree86.一般说来,如果我们的显卡是 XFree86 直接支持的,那当然最好,也就不需要 frame buffer 的内核支持.但是如果 XFree86 不支持我们的显卡,我们可以考虑用 VESA 模式.但是 XFree86 的 VESA 卡支持运行起来不太漂亮,还有安全方面的问题,有时在启动和退出 X Window 的时候会出现花屏.我们可以采用 kernel 的 vesa 模式的 frame buffer,然后用 xfree86 的 linux frame buffer 的驱动程序.这样一般就看不到花屏的现象了,安全方面也没有任何问题. devfs 也是我们感兴趣的话题.如果 kernel 不使用 devfs,那么系统上的 root 文件系统就要有 /dev 目录下面的所有内容.这些内容可以用 /dev/MAKEDEV 脚本来建立,也可以用 mknod 手工一个一个来建.这个方法有其自身的好处.但是它的缺点是麻烦,和 kernel 的状态又并不一致.相反的,如果使用了 devfs,我们就再也不用担心 /dev 目录下面的任何事情了./dev 目录下面的项目会有 kernel 的代码自己负责.实际使用起来的效果,对内存的消耗并不明显.我们选择 devfs.
busybox 有了 LILO 和 kernel image 之后,接下来,我们要安排 root 文件系统. flash 盘的空间只有 16M 字节,可以说,这是对我们最大的挑战.这里要向大家介绍小型嵌入式 Linux 系统安排 root 文件系统时的一个常用的利器:BusyBox. Busybox 是 Debian GNU/Linux 的大名鼎鼎的 Bruce Perens 开发,使用在 Debian 的安装程序中.后来又有许多 Debian developers 贡献力量,这其中尤推 busybox 目前的维护者 Erik Andersen,他患有癌症,可是却是一名优秀的自由软件开发者. Busybox 编译出一个单个的独立执行程序,就叫做 busybox.但是它可以根据配置,执行 ash shell 的功能,以及几十个各种小应用程序的功能.这其中包括有一个迷你的 vi 编辑器,系统不可或缺的 /sbin/init 程序,以及其他诸如 sed, ifconfig, halt, reboot, mkdir, mount, ln, ls, echo, cat ... 等等这些都是一个正常的系统上必不可少的,但是如果我们把这些程序的原件拿过来的话,它们的体积加在一起,让人吃不消.可是 busybox 有全部的这么多功能,大小也不过 100K 左右.,用户还可以根据自己的需要,决定到底要在 busybox 中编译进哪几个应用程序的功能.这样的话,busybox 的体积就可以进一步缩小了. 使用 busybox 也很简单.只要建一个符号链接,比方 ln -s /bin/busybox /bin/ls,那么,执行 /bin/ls 的时候,busybox 就会执行 ls 的功能,也会按照 ls 的方式处理命令行参数.又比如 ln -s /bin/busybox /sbin/init,这样我们就有了系统运行不可或缺的 /sbin/init 程序了.当然,这里的前提是,你在 busybox 中编译进去了这两个程序的功能. 这里面要提出注意的一点是,busybox 的 init 程序所认识的 /etc/inittab 的格式非常简单,和常规的 inittab 文件的格式不一样.读者朋友们在为这个 busybox 的 init 写 inittab 的时候,要注意一下不同的语法.至于细节,就 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |