一种实现嵌入式Linux的新方法(1)_第1页
一种实现嵌入式Linux的新方法(1)_第2页
一种实现嵌入式Linux的新方法(1)_第3页
一种实现嵌入式Linux的新方法(1)_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一种真现嵌进式Linux的新要发(1)摘要正在Linux中会逢到因为文件系统破坏,需要野生建复而招致系统没法一般启动的现象。本文彩纳Linux初初化内存盘INITRD妙技,并把内存的一部门做为Linux的根目录,每次启动把完好的文件系统解压到那里,造止了系统从破坏的文件系统启动。那没有但使系统能一般启动,并且前进了系统机能。闭键词Linux嵌进式INITRDradisk【Keyrd】LinuxebeddedINITRDradisk引止正在Linux独霸系统中,有一项特别的成效初初化内存盘INITRDINITialRaDisk妙技,并且内核支撑松缩的文件系统映像。有了那两项成效,我们可以让Lin

2、ux系统从小的初初化内存盘启动,并把系统内存的一部门做为根文件系统挂载,并且没有利用交流分区假设没有运转Xinds那是完好可以的,即把Linux系统完好嵌进到内存中,而没有依好于任何其他硬盘。如今P机内存最少128,而根文件系统所用的只需30,果而没有但没有会使整机机能降降,反而有很年夜的前进。因为系统没有事情正在硬盘上,所以系统消弭因为机器驱动而招致的题目成绩;因为系统运转于内存中,根文件系统战独霸完好正在PU/RA状况下,系统机能正在速度战牢靠性圆里非常好;它没有会因为没有法闭机而破坏文件系统,因为我们每次启动是把松缩的文件系统解压至内存盘中做为根文件系统挂载。1硬件要供塞责多么一个系统,

3、硬件没有需要特别的谋划,只是经由过程仄居的P机上的组件真现。值得一提是系统的内存的大小,它最少该当有64。因为30做为Radisk利用,剩下30多兆做为系统运转,才调包管系统的一般事情,我们如今的策画机内存一样仄居为128,那个前提皆能谦意。独一特别的是一个flash盘,它相称于一个IDE接心的硬盘,大小为20,慌张用它做为启动LIL战安排根文件系统松缩包。2Radisk的利用Radisk便是将内存的一部门分派为一个分区并做为硬盘去利用。塞责系统运转时没有竭利用的步伐,将它们放正在Radisk中将放慢策画机的独霸,如年夜数据量的搜集效劳器、无盘事情站等。为了可以年夜要利用Radisk,我们正在

4、编译内核时须将blkdevie中的Radisk支撑选上,它上里另有两个选项,一个是设定Radisk的大小,默许是4096k;另外一个是initrd的支撑。它既可以间接编译进内核,也可以编译成模块,正在需要的工夫减载。我们因为正在启动时便用它,所以必需将它间接编译进内核。假设对Radisk的支撑曾经编译进内核,我们便可以利用它了。起尾正在/nt目录下创立目录ra,运转kdir/nt/ra;然后对/dev/ra0创立文件系统,运转ke2fs/dev/ra;终了挂载上/dev/ra,运转unt/dev/ra/nt/ra,便可以象对仄居硬盘一样对它停顿独霸了。值得留意的是,正在创立文件系统的工夫,正在

5、屏幕上输出1024indes,4096blks,即radisk大小为44096个块,可是我们挂载上以后,用命令dfk/dev/ra检察时,暗示出去radisk大小只需3963K,那是因为文件系统自己占用了一些空间。我们能按照需要改动radisk天年夜校如我们要把默许的4删年夜到10,当radisk是间接编译进内核的状况下,可正在LIL设置文件lil.nf中参减一止:append“radis_size=10000,运转LIL后,重启策画机后,radisk大小变成10,年夜要正在启动是做为启动止参数radis_size=10000;当radisk是做为可减载模块编译时,需要正在模块减载设置文件/e

6、t/dules.nf中参减一止:ptinsrdrd_size=10000,年夜要正在减载rd模块是正在背里减上阐发,即insdrdrd_size=10000.3真现历程3.1创立松缩的文件系统我们的真现历程是依好于存正在的Linux系统。起尾启动一样仄居的Linux系统,正在那个系统中按照自己的需要,创立一个得当成效的文件系统。例如我们要真现Apahe搜集效劳器,那末只需把完成系统启动战根底保护需要的一些命令、足本、设置文件战库函数留下,再减上真现Apahe效劳器所需要的。详细历程为:正在Linux下创立目录/inlinux,我们正在此目录下创立的文件系统。系统的部分静态链接库,辅佐脚册anp

7、ages,疑息页infpages,头文件,内核源码塞责系统运转是完好无用的,所以没有需要它们。正在目录bin下放系统保护的一些根底东西,如ls、v、grep、hn、hd、hgrp、ln、r等;正在sbin下是系统启动历程但凡需要的命令,如bash、e2fsk、ke2fs、fdisk、insd、rd、depd、dprbe、lsd、shutdn、rebt、lgin、init、getty、unt、uunt、等;usr/bin下安排Apahe利用步伐 战其他一些特别东西。然后按照那些可尝试文件需要的静态链接库去肯定lib目录下的内容。固然目录et下的设置文件,dev下的装备文件需要的皆必需要有,它们皆

8、是战可尝试文件对应的,因为很多可尝试文件尝试时,一样仄居是翻开装备,按照设置文件去运转。有一个特别的目录pr该当设置,正在内核编译选项文件系统挑选中,我们挑选对文件系统pr的支撑,那末正在系统运转以后它上里有很多内容,那些内容是及时、没有竭跟踪系统内核战正正在运转的历程的形态而发死的,但没有占用任何磁盘空间,而是驻留正在内存中。正在某些状况下,可以经由过程它去系统设置,很多东西从那里猎与疑息,如desg、ps、tp等。文件系统造做完成,大小该当正在20左右。接下去把文件系统拷贝至radisk为天死radisk映像文件做筹办。我们把系统的radisk改动到30,重启策画机后,尝试以下独霸:ddi

9、f=/dev/zerf=/dev/rabs=1kunt=30000把radisk调整到整,以便背里有更下的松缩率;ke2fs0/dev/ra30000正在radisk上创立30的ext2文件系统;unt/dev/ra/nt/ra将已格局化的radisk挂载至目录/nt/ra;pav/inlinux/*/nt/ra将文件构造拷贝至radisk。然后我们对/nt/ra/et目录下的文件停顿建正。慌张的文件是fstab,它当真正在系统启动时把系统要挂载的文件系统疑息传达给启动历程,我们利用radisk做为根文件系统,且没有需要交流分区,所以此文件设置/dev/ra/ext2defaults11nne

10、/prprdefaults00便可。一样仄居去道系统启动时皆要激活交流分区,即正在启动足本中有sapna命令,但我们没有需要交流分区,果而要把那一项移除,没有然启动时会挨印缺点疑息然后造止启动。终了我们要拷贝radisk的映像并将其松缩。慌张步伐以下:运转df,留意1024-blks一栏中/dev/ra的数值,正在我的机上为25600;卸载/dev/ra,运转d/rt切换至rt目录并运转uunt/dev/ra;将radisk写成映象文件,运转ddif=/dev/raf=ra30.igbs=1kunt=25600松缩,并正在/rt目录起尾我们正在/dev/ra0中创立一个得当大小的ext2文件系

11、统,要发同上,只是大小只需2048K,因为initrdradisk是用去指导btstrap30的radisk,并将它挂载至/nt/ra。然后正在/dev/ra0中创立映像需要的目录战文件。创立目录bin、dev、et、lib、nt战可尝试足本文件linuxr,linuxr的内容为:#!/bin/bashuntr/dev/hda1/nt以只读要发系统映像解压至rauunt/dev/hda1卸载flash盘bin上里为linuxr顶用到的命令;lib为那些命令需要的静态链接库;et下为设置定义命令运转时根究所需静态链接库的途径,运转命令命令战静态链接库之间创立对应闭连;dev下根底终端装备战lin

12、uxr顶用到的装备:nsle、ra、null、systty、tty1、tty2战hda1;nt为hda1的挂载面。终了创立松缩的initrdradisk映像。运转df看看/dev/ra0的字节数,正在我的策画机上1684K;转换当前目录系统的启动需要依好flash盘,经由过程LIL把系统启动疑息写进flash盘主指导区。将flash盘做为第一主盘hda,而将拆有仄居Linux的硬盘做为第一从盘hdb并从它启动。正在flash硬盘上创立ext2文件系统,将它挂载至/nt/flash目录。正在flash盘上创立bt目录,将松缩的文件系统战initrd映像拷贝至bt目录下,同时将Linux内核、指导

13、区记载bt.b、指导区映照ap拷贝至其下。正在仄居Linux系统中创立LIL设置文件ralil.nf,设置文件以下:bt=/dev/hdaap=/nt/flash/bt/apinstall=/nt/flash/bt/bt.bprpttieut=50命令lilralil.nf,将启动疑息写进flash的主指导区BR。从头启动策画机,登陆后运转unt,我们看到以下两项:/dev/ran/ext2(r)nnen/prtypepr(r)那暗示只需radisk被挂载,造做成功。4结论正在我们造做的嵌进式Linux中停顿各种独霸,速度非常快,并且系统很没有变。出有呈现因为根文件系统破坏而招致系统进动脚工保护界

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论