你现在位置:首页>技术论文>电气常识>嵌入式系统>正文
制作嵌入式linux文件系统(ramdisk,cramfs,squashfs)
日期:2008-2-15 23:43:51 来源:本站整理  
点击: 作者:未知
点击【】放大字体.
一、什么是文件系统 (Filesystem);
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

WWW_PLCJS_COM-PLC-技.术_网

A directory structure containedwithin a disk drive or disk area. The total available disk space can becomposed of one or more filesystems. A filesystem must be mountedbefore it can be accessed. To mount a filesystem, you must specify adirectory to act as the mount point. Once mounted, any access to themount point directory or its subdirectories will access the separatefilesystem. 
W1WW_P4LCJS_COM-PLC-技.术_网

文件系统是包括在一个磁盘(包括光盘、软盘、闪盘及其它存储设备)或分区的目录结构;一个可应用的磁盘设备可以包含一个或多个文件系统;如果您想进入一个文件系统,首先您要做的是挂载(mount)文件系统;为了挂载(mount)文件系统,您必须指定一个挂载点。
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

二、主要嵌入式采用的文件系统 ;
WWW_PLCJS_COM-PLC-技.术_网

WWW_PLCJS@_COM%-PLC-技.术_网

*Linux 中,rootfs 是必不可少的。PC 上主要实现有 ramdisk 和直接挂载 HD(Harddisk,硬盘)上的根文件系统;嵌入式中一般不从 HD 启动,而是从 Flash 启动,最简单的方法是将 rootfs load 到 RAM 的RAMDisk,稍复杂的就是 直接从Flash 读取的 Cramfs,更复杂的是在 Flash 上分区,并构建 JFFS2 等文件系统。
WWW_P※LCJS_CO※M-PLC-技-.术_网

P.L.C.技.术.网——可编程控制器技术门户

* RAMDisk 将制作好的 rootfs 压缩后写入 Flash,启动的时候由 Bootloader load 到RAM,解压缩,然后挂载到 /。这种方法操作简单,但是在 RAM 中的文件系统不是压缩的,因此需要占用许多嵌入式系统中稀有资源 RAM。
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

ramdisk就是用内存空间来模拟出硬盘分区,ramdisk通常使用磁盘文件系统的压缩存放在flash中,在系统初始化时,解压缩到SDRAM并挂载根文件系统,在linux系统中,ramdisk有二种,一种就是可以格式化并加载,在linux内核2.0/2.2就已经支持,其不足之处是大小固定;另一种是2.4的内核才支持,通过,ramfs来实现,他不能被格式化,但用起来方便,其大小随所需要的空间增加或减少,是目前linux常用的ramdisk技术.
WWcW_PLCJS_COM-PLC-技.术_网

WWW.PLCJS.COM——可编程控制器技术门户

* initrd 是 RAMDisk 的格式,kernel 2.4 之前都是 image-initrd,Kernel2.5 引入了 cpio-initrd,大大简化了 Linux 的启动过程,附合 Linux 的基本哲学:Keep it simple,stupid(KISS). 不过cpio-initrd 作为新的格式,还没有经过广泛测试,嵌入式 Linux 中主要采用的还是image-initrd。
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

——可——编——程——控-制-器-技——术——门——户

* Cramfs 是 Linus 写的很简单的文件系统,有很好的压缩绿,也可以直接从 Flash上运行,不须 load 到 RAM 中,因此节约了 RAM。但是 Cramfs 是只读的,对于需要运行时修改的目录(如: /etc,/var, /tmp)多有不便,因此,一般将这些目录做成ramfs 等可写的 fs。
WWW_PLC※JS_COM-PmLC-技.术_网

WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

* SquashFS 是对 Cramfs 的增强。突破了 Cramfs 的一些限制,在 Flash 和 RAM 的使用量方面也具有优势。不过,据开发者介绍,在性能上可能不如 Cramfs。这也是一种新方法,在嵌入式系统采用之前,需要经过更多的测试
WW.W_PLC※JS_C,OM-PL,C-技.术_网

WWW_P※LCJS_COM-PLC-)技.术_网

三、建一个包含所有文件的目录 ;
WWW_PLC※JS_COM-PmLC-技.术_网

WWcW_PLCJS_COM-PLC-技.术_网

1。建一个目录rootfs 用来装文件系统
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

2。mkdir bin  dev  etc  lib  proc  sbin  tmp  usr  var
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

WWW_PLCJS@_COM%-PLC-技.术_网

3.  ln -fs  bin/busybox linuxrc(使用busybox)
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

4.  到系统 /dev 把所有的device打一个包,拷贝到 dev下面(最省事的做法);或者使用mknod来自己建所需要的device,我自己用的如下:
WW.W_PLCJS_COM-PLC-技.术_网

crw-rw-rw-  1 root   root     5,  1 2006-02-24 13:12 console
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

crw-rw-rw-  1 root   root     5, 64 2006-02-24 13:12 cua0
——可——编——程——控-制-器-技——术——门——户

crw-rw-rw-  1 root   root    63,  0 2006-02-24 13:12 dk0

本新闻共5页,当前在第11 2  3  4  5  
WW.W_PLCJS_COM-PLC-技.术_网

评论内容
载入中...
载入中...
P
L
C



|










|


P
L
C









·最新招聘信息
·最新求职信息
·推荐产品
·推荐厂商
·栏目热门排行
·站内热门排行