欢迎来到天天文库
浏览记录
ID:14001704
大小:56.00 KB
页数:18页
时间:2018-07-25
《基于x86的小型内存linux操作系统》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、基于x86的小型内存linux操作系统linux操作系统版本,基于x86的小型内存linux***作系统日期:2010-3-2513:20:0发布:admin发所属类别:系统错误浏览次数:8摘要:X86、LiveCD、LiveUSB由于工作需要,最近花了点时间真正研究了一下如何纯***工制作一个Linux系统。虽然以前也曾用gentoo、lfs等成功制作过Linux系统,但那都是观着别人的教程一步步完成的,虽然成功了,但自己总觉得东西还是别人的,没有真正变成自己的知识。其次,像gentoo与lfs都是教你如何制作一个通用的Lin
2、ux***作系统,此系统过于庞大,对于一个专用系统来说,不需要如此庞大的系统,特别是要求系统要完全运行于内存中时,更不能过于庞大。鉴于此,通过***工完全制作一个Linux系统是唯一的方法。好比在ARM、MIPS、POWERPC等平台下的嵌渗入渗出式Linux一样。现在我需要做的是一个类似的,X86小型专用化的Linux。早就想做一个这样的系统,但网上一直没有找到***的教程,所以我也没有方向,也就没有动***做。但今天到了必需要用的时候了,我只能硬着头皮上,从零开始,自己制作。但也不是完全的没有参考,在网上找到些资料,关于用b
3、usybos做LiveCD与熟悉initramfs的文章都写的非常好,谢谢这些辈们的积累。在这里,我把这篇文章献给跟我面对同样问题的朋友和想对Linux***作有更深渗透了解的朋友。这里我们来点知识预习,以下内容部分来自于网络。1熟悉ramfs、initramfs、ramdisk讲到内存Linux系统,那就离不开ramfs、initramfs、ramdisk,为了选择更好的方式,我们首先来认识这三种文件系统的不同与相同之处。1.1了解ramfsramfs直接利用了内核的磁盘高速缓存机制。所有的文件的读写数据都会在内存中做高速缓存
4、(cache),当系统再次使用文件数据时,可以直接从内存中读写,以提供系统的I/O性能。高速缓存中的写渗入渗出数据会在适当的时候回写到对应的文件系统设备(如磁盘等)中,这时它的状态就标识为clean,这样系统在必要时可以释放掉这些内存。ramfs没有对应文件系统设备,所以它的数据永遥都不会回写往返去,也就不会标识为clean,因此系统也永遥不会释放ramfs所占用的内存。1.2了解initramfsInitramfs是ramfs的一种,在2.6版本之后的linux内核中,都包***一个压缩过的cpio格式的打包文件。当内核启动时
5、,会从这个打包文件中导出文件到内核的rootfs文件系统,然后内核检查rootfs中是否包***有init文件,如果有则执行它,作为PID为1的第一个***。这个init***负责启动系统后续的工作,包括定位、挂载“真正的”根文件系统设备(如果有的话)。如果内核没有在rootfs中找到init文件,则内核会按以前版本的方式定位、挂载根分区,然后执行/sbin/init程序完成系统的后续初始化工作。这个压缩过的cpio格式的打包文件就是initramfs。编译2.6版本的linux内核时,编译系统总会创建initramfs,然后把
6、它与编译好的内核连接在一起。内核源代码树中的usr目录就是专门用于构建内核中的initramfs的,其中的initramfs_data.cpio.gz文件就是initramfs。缺省情况下,initramfs是空的,X86架构下的文件大小是134个字节。1.3了解ramdiskRamDisk也就是内存盘的意思。所谓的RAM驱动器是在一块内存区域中创建的块设备,用于存放文件系统。ramdisk的容量是创建的时候就固定的。ramdisk需要内核的文件系统驱动程序(如ext2)来***作其上的数据。对于***作系统来讲内存的存取速度远
7、遥大于机械磁盘,所以RAM驱动器肯定要比机械的硬盘快得多。你可以把整个应用程序都安装在RamDisk的驱动器中,然后用内存的速度运行它。2了解Linux***作系统够成简单地说,Linux是一套免费使用和**传播的类Unix***作系统,这个系统是由世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能**使用的Unix兼容产品。平常我们所说的Linux系统只是指的系统的内核,用内核代表了整个Linux***作系统,严格的来说,所有能供计算机使用的Linux***作系统应该鸣GNU/Lin
8、ux。这是为什么呢?因为***作系统软主要分为三大块(启动引导器、内核、根文件系统),缺少任何一块都是无法正常使用的。而这每一部分所使用的软件,都是世界上无数开源爱好者们花了无数心血***出来的。2.1什么是启动引导器所谓启动引导器是指计算机加电后,完成了CMO
此文档下载收益归作者所有