最小的Linux操作系统制作过程详解.doc

最小的Linux操作系统制作过程详解.doc

ID:51904765

大小:101.00 KB

页数:23页

时间:2020-03-18

最小的Linux操作系统制作过程详解.doc_第1页
最小的Linux操作系统制作过程详解.doc_第2页
最小的Linux操作系统制作过程详解.doc_第3页
最小的Linux操作系统制作过程详解.doc_第4页
最小的Linux操作系统制作过程详解.doc_第5页
资源描述:

《最小的Linux操作系统制作过程详解.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、最小的Linux操作系统制作过程详解一,什么是BabyLinuxBabyLinux不是一个完整的发行版,他是利用原有的一套完整的linux系统的内核原代码和编译工具,利用busybox内建的强大功能,在一张软盘上做的一个很小的linux系统。他具备一个linux系统的基本特征,支持linux系统最常用的一百多个命令,支持多种文件系统,支持网络等等,你可以把他当做一张linux起动盘和修复盘来用,你也可以把他当做一个静态路由的路由器软件,当然,你也可以把他当做一个linux玩具,向你的朋友炫耀linux可以做的多么小。我把他

2、叫做BabyLinux因为他很小巧,小的很可爱,像一个刚刚出生的小baby。二.为什么要作这样一个linux先说说我一开始的想法,当我一开始接触linux的时候,看到书上说,linux通常安装只需要60M左右的空间,但是我发现装在我硬盘上的Redhat6.0确要占据好几百M的空间。为什么我的linux这么大呢?后来我发现,装在我机器上的那么多东西只有不到30%是我平时常用的,还有30%是我极少用到的,另外的40%基本上是不用的。于是,我和大多数初学者一样,开始抱怨,为什么linux不能做的精简一点呢?于是,我萌发了自己裁减

3、系统的想法。可惜那个时候我还没有听说过有LFS和Debain。等到我积累了足够的linux知识后,我开始制作这样一个小系统。制作这样一个小系统最大的意义在于,你可以通过制作系统了解linux的启动过程,学会ramdisk的使用,让你在短时间内学到更多的linux知识。当然,你会得到很大的乐趣。这个项目只是做一个具有基本特征的linux系统,如果你想自己做一个具有完整功能的linux,请阅读LinuxFromScratch(LFS)文档。三,什么人适合读这篇文档如果你是一个linux爱好者,并且很想了解linux的启动过程和

4、系统的基本结构,而且是一个喜欢动手研究小玩意的人,那么这个文档可以满足你的需求。如果你仅仅是用linux来做一些普通的日常工作,而不在乎你的linux到底怎么工作,那么这份文档也许不太适合你。另外,如果你是linux爱好者,但是目前还是一个刚刚入门的newbi,我建议你先把linux命令学好。不过我想我会尽可能的把这份文档写详细一些,如果你有足够的毅力,或许一个newbi也能成功做一个babylinux。或者,你遇到一件很不巧的事情,比如你的老婆来例假了,你的这个周末就泡汤了,那么阅读这篇文档并做一个linux小玩具可以打

5、发你的时间。四,应该具备的知识在做一个babylinux之前,你应当已经会应用linux最常用的命令。并且至少有一次成功编译并安装系统内核的经历,会通过编译源代码来安装软件。如果你具备了这些条件,那么做这样一个小系统会很顺利,如果你还没有掌握这些知识,你可能会遇到一些困难。但是只要有毅力,也可以成功。你不需要具备编程的知识,因为我的目标是:让具有中等以上linux水平的爱好者可以通过阅读文档轻松完成这个项目。关于一张软盘上的linux还有一个很著名的linux叫LOAP(LinuxOnAFloppy)但是他是由比较专业的人

6、员需要编写很多程序完成的。而且没有关于他制作过程的文档。五,linux系统引导过程简介首先,主板的BIOS会读取硬盘的主引导记录(MBR),MBR中存放的是一段很小的程序,他的功能是从硬盘读取操作系统核心文件并运行,因为这个小程序太小了,因此通常这个小程序不具备直接引导系统内核的能力,他先去引导另一个稍微大一点的小程序,再由这个大一点的小程序去引导系统内核。在linux系统中这样的小程序有LILO和GRUB。在这个项目中,我决定用LILO来做系统引导程序。在软盘上启动linux系统的过程和在硬盘上启动的过程相似。Linux

7、系统内核被引导程序装入内核并运行后,linux内核会检测系统中的各种硬件。并做好各种硬件的初始化工作,使他们在系统正式运行后能正常工作。之后内核做的最后一个工作是运行/sbin下的init程序,init是英文单词initialization(初始化)的简称,init程序的工作是读取/etc/inittab文件中描述的指令,对系统的各种软硬件环境做最初化设定。最后运行mingetty等待用户输入用户名登录系统。所有的工作就这么简单,虽然linux启动的时候有很多内容,看上去十分高深,但是都不过是对这个过程的扩充。明白了这个道

8、理,你可以写一些脚本程序让他在系统启动的特定时间运行完成任务。事实上系统内核并不关心/sbin下的init是不是真的init,只要是放在/sbin下名叫init的可执行程序他都可以执行。可以做以下实验:编写一个非常简单的C程序:main(){printf(“hello,world!”);}保存后以i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。