自己动手做一个迷你型Linux操作系统
不在我们这里多说了,请大家参考 Busybox 的用户手册.
从启动到进入 shell busybox 安装好以后,我们就可以考虑重新启动,一直到进入 shell 提示符了.这之前,我们要准备一下 /etc 目录下的几个重要的文件, 用 ldd 命令,后面跟要分析的二进制程序的路径名,就可以知道一个二进制程序,或者是一个 library 文件之间的互相依赖关系,比如 busybox 就依赖于 libc.so 和 ld-linux.so ,我们有了这些知识,就可把动手把所有需要的 library 拷贝到 flash 盘上. 库程序拷贝过来以后,我们就可以考虑系统启动的步骤了.启动的时候,先是 lilo,接下来就是 kernel,kernel 初始化之后,就调用 /sbin/init,然后由 init 解释 /etc/inittab 运行各种各样的东西.inittab 会指导 init 去调用一个最重要的系统初始化程序 /etc/init.d/rcS,我们将要在 rcS 中完成各个文件系统的 mount,此外,还有在 rcS 中调用 dhcp 程序,把网络架起来.rcS 执行完了以后,init 就会在一个 console 上,按照 inittab 的指示开一个 shell,或者是开 getty login,这样用户就会看到提示输入用户名的提示符.我们这里为了简单起见,先直接进入 shell,然后等到调试成功以后,再改成直接进入 X Window. 关于 inittab 的语法,我们上面已经提到过了,希望读者朋友们去查权威的 busybox 的用户手册.这里,我们先要讲一下文件系统的构成情况. 安排文件系统 大家已经看到,我们的 root 文件系统为了避免麻烦,用的是标准的 ext2 文件系统. cramfs 是 Linus Torvalds 本人开发的一个适用于嵌入式系统的小文件系统. 我们
这样,就可以经由 loopback 设备,把 usr.img 这个 cramfs 的 image 文件 mount 到 /usr 目录上去了.哦,对了, ![]() 上面考虑了压缩问题,下面还要考虑到,Flash 盘毕竟不像普通硬盘,多次的擦写毕竟不太好, |
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |