欢迎来到天天文库
浏览记录
ID:10786477
大小:57.00 KB
页数:4页
时间:2018-07-08
《一种实现嵌入式linux的新方法论文》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、一种实现嵌入式Linux的新方法论文.freeldisk【Abstract】IncourseofbuildingembeddedLinux,thesystem.Thepaperdescribesaneethod,diskDiskandassignspartofmemoriesasrootdirectoryofLinux.Itavoidsstartupfromabadfilesystembecauseitunpressesintegralfilesystemtoramdiskeverytime.,这个条件都能满足
2、。唯一特别的是一个flash盘,它相当于一个IDE接口的硬盘,大小为20M,主要用它作为启动LILO和放置根文件系统压缩包。2Ramdisk的使用Ramdisk就是将内存的一部分分配为一个分区并作为硬盘来使用。对于系统运行时不断使用的程序,将它们放在Ramdisk中将加快计算机的操作,如大数据量的网络服务器、无盘工作站等。为了能够使用Ramdisk,我们在编译内核时须将blockdevice中的Ramdisk支持选上,它下面还有两个选项,一个是设定Ramdisk的大小,默认是4096k;另一个是initrd的支
3、持。它既可以直接编译进内核,也可以编译成模块,在需要的时候加载。我们由于在启动时就用它,所以必须将它直接编译进内核。如果对Ramdisk的支持已经编译进内核,我们就可以使用它了。首先在/mnt目录下创建目录ram,运行mkdir/mnt/ram;然后对/dev/ram0创建文件系统,运行mke2fs/dev/ram;最后挂载上/dev/ram,运行mount/dev/ram/mnt/ram,就可以象对普通硬盘一样对它进行操作了。值得注意的是,在创建文件系统的时候,在屏幕上输出1024inodes,4096blo
4、cks,即ramdisk大小为4M=4096个块,但是我们挂载上之后,用命令df–k/dev/ram查看时,显示出来ramdisk大小只有3963K,这是由于文件系统本身占用了一些空间。我们能根据需要改变ramdisk地大小。如我们要把默认的4M增大到10M,当ramdisk是直接编译进内核的情况下,可在LILO配置文件lilo.conf中加入一行:append=“ramdis_size=10000”,运行LILO后,重启计算机后,ramdisk大小变为10M,或者在启动是作为启动行参数ramdis_size=
5、10000;当ramdisk是作为可加载模块编译时,需要在模块加载配置文件/etc/modules.conf中加入一行:optionsrdrd_size=10000,或者在加载rd模块是在后面加上说明,即insmodrdrd_size=10000.3实现过程3.1创建压缩的文件系统我们的实现过程是依赖于存在的Linux系统。首先启动一般的Linux系统,在这个系统中根据自己的需要,创建一个适合功能的文件系统。例如我们要实现Apache网络服务器,那么只要把完成系统启动和基本维护需要的一些命令、脚本、配置文件和库
6、函数留下,再加上实现Apache服务器所需要的。具体过程为:在Linux下建立目录/minlinux,我们在此目录下创建的文件系统。系统的所有静态链接库,帮助手册(manpages),信息页(infopages),头文件,内核源码对于系统运行是完全无用的,所以不需要它们。在目录bin下放系统维护的一些基本工具,如ls、mv、grep、chood、chgrp、ln、rm等;在sbin下是系统启动过程通常需要的命令,如bash、e2fsck、mke2fs、fdisk、insmod、rmmod、depmod、modp
7、robe、lsmod、shutdoount、umount、等;usr/bin下放置Apache应用程序http和其他一些特殊工具。然后根据这些可执行文件需要的动态链接库来确定lib目录下的内容。当然目录etc下的配置文件,dev下的设备文件需要的都必须要有,它们都是和可执行文件对应的,因为许多可执行文件执行时,一般是打开设备,根据配置文件来运行。有一个特殊的目录proc应该设置,在内核编译选项文件系统选择中,我们选择对文件系统proc的支持,那么在系统运行之后它下面有许多内容,这些内容是实时、不断跟踪系统内核和
8、正在运行的进程的状态而产生的,但不占用任何磁盘空间,而是驻留在内存中。在某些情况下,可以通过它来系统设置,许多工具从这里获取信息,如dmesg、ps、top等。文件系统制作完成,大小应该在20M左右。接下来把文件系统拷贝至ramdisk为生成ramdisk映像文件做准备。我们把系统的ramdisk改变到30M,重启计算机后,执行下列操作:ddif=/dev/zeroof=/dev/ra
此文档下载收益归作者所有