CRAMFS文件系统搭建与配置(Micro2440 + linux 2.6.39)

发布者:chaohuangmeitao最新更新时间:2022-07-08 来源: csdn关键字:CRAMFS  文件系统  Micro2440  linux  6 手机看文章 扫描二维码
随时随地手机看文章

1. CRAMFS文件系统配置

        Cramfs是Linux的创始人 Linus Torvalds参与开发的一种只读的压缩文件系统。它也基于MTD驱动程序。


        在cramfs文件系统中,每一页(4KB)被单独压缩,可以随机页访问,其压缩比高达2:1,为嵌入式系统节省大量的Flash存储空间,使系统可通过更低容量的FLASH存储相同的文件,从而降低系统成本。另外,它的速度快,效率高,其只读的特点有利于保护文件系统免受破坏,提高了系统的可靠性。由于以上特性,Cramfs在嵌入式系统中应用广泛。


        但是它的只读属性同时又是它的一大缺陷,使得用户无法对其内容对进扩充。可以使用Cramfs + yaffs2/ubiffs的双文件系统结构,系统的基本文件系统使用Cramfs,另外启动时mount一个yaffs2/buiffs作为用户数据存储的地方。


a) 内核配置


        # make menuconfig    //默认的MINI2440配置已经打开了CRAMFS的支持


        File systems  ---> 


                [*] Miscellaneous filesystems  ---> 


                 <*>   Compressed ROM file system support (cramfs)


b) 编译内核


        # make uImage


        将生成的内核下载到开发板中运行,使用以下命令可以查看内核支持的文件系统类型,可看到现在内核已经可以支持CRAMFS文件系统了。


        # cat /proc/filesystems


2. CRAMFS文件系统映像制作

a) 下载CRAMFS制作工具


        下载地址:http://sourceforge.net/projects/cramfs/


                        ( http://pan.baidu.com/s/1bnpg0Ar )


b) 解压并生成CRAMFS制作工具


        # tar -xvf /media/sf_ShareDIR/MICRO2440/source/cramfs-1.1.tar.gz -C ./


        # cd ./cramfs-1.1/


        # make


        # cp ./cramfsck ./mkcramfs /usr/bin


c) 生成CRAMFS镜像


        # mkcramfs NFS fs_micro2440.cramfs


d) 使用mount命令挂载CRAMFS


        # mount -o loop -t cramfs ./fs_micro2440.cramfs /mnt


        输入此命令后回车,就一直卡住了,只能CTRL+C中断。在宿主机的LINUX中使用该命令可以正常挂载,因此可以清楚文件系统是正确的。在目录板上将镜像烧写到NAND中,再挂载又可以,如下一步所述。


e) 将CRAMFS下载到NAND中,并设为根文件系统启动


        将文件系统下载到mtd2分区(存放KERNEL的分区,因为目前是用TFTP下载内核到RAM中运行的,为了方便测试,使用mtd2分区即可)。


        # /mtd_tools/flash_eraseall /dev/mtd2


        # /mtd_tools/nandwrite -a -p /dev/mtd2 ./fs_micro2440.cramfs


        # mount -o loop -t cramfs /dev/mtdblock2 /mnt  //挂载到mnt目录成功



        进入U-BOOT设置LINUX启动参数,设置CRAMFS为根文件系统。


        # setenv bootargs noinitrd root=/dev/mtdblock2 init=/linuxrc console=ttySAC0  rootfstype=cramfs


        由于rootfs为只读分区,不能存储用户数据,因此挂载mtd3分区为yaffs2,用户数据可以放在这里。


        # mount -t yaffs2 /dev/mtdblock3 /mnt

关键字:CRAMFS  文件系统  Micro2440  linux  6 引用地址:CRAMFS文件系统搭建与配置(Micro2440 + linux 2.6.39)

上一篇:module方式调试驱动(Micro2440 + linux 2.6.39)
下一篇:JFFS2文件系统搭建与配置(Micro2440 + linux 2.6.39)

推荐阅读最新更新时间:2024-10-25 12:47

CRAMFS文件系统搭建与配置(Micro2440 + linux 2.6.39
1. CRAMFS文件系统配置 Cramfs是Linux的创始人 Linus Torvalds参与开发的一种只读的压缩文件系统。它也基于MTD驱动程序。 在cramfs文件系统中,每一页(4KB)被单独压缩,可以随机页访问,其压缩比高达2:1,为嵌入式系统节省大量的Flash存储空间,使系统可通过更低容量的FLASH存储相同的文件,从而降低系统成本。另外,它的速度快,效率高,其只读的特点有利于保护文件系统免受破坏,提高了系统的可靠性。由于以上特性,Cramfs在嵌入式系统中应用广泛。 但是它的只读属性同时又是它的一大缺陷,使得用户无法对其内容对进扩充。可以使用Cramfs + yaffs2/ubif
[单片机]
YAFFS2文件系统搭建与配置(Micro2440 + linux 2.6.39
1. YAFFS2文件系统配置 a) YAFFS2源码下载地址 yaffs2-HEAD-4e188b0.tar.gz:http://www.yaffs.net/download-yaffs-using-git (http://pan.baidu.com/s/1jG7OAP4) b) 解压源码 # tar -xvf yaffs2-HEAD-4e188b0.tar.gz -C ./ c) 为内核打YAFFS2补丁 # cd yaffs2-HEAD-4e188b0/ # ./patch-ker.sh c m ../linux-2.6.39/ d) 配置内核 # m
[单片机]
YAFFS<font color='red'>2</font><font color='red'>文件系统</font>搭建与配置(<font color='red'>Micro2440</font> + <font color='red'>linux</font> 2.6.<font color='red'>39</font>)
JFFS2文件系统搭建与配置(Micro2440 + linux 2.6.39
1. JFFS2文件系统配置 a) 内核配置 # make menuconfig //默认的MINI2440配置已经打开了JFFS2的支持 File systems --- Miscellaneous filesystems --- * Journalling Flash File System v2 (JFFS2) support (0) JFFS2 debugging verbosity (0 = quiet, 2 = noisy) JFFS2 write-buffering su
[单片机]
UBIFS文件系统搭建与配置(Micro2440 + linux 2.6.39
1. UBIFS文件系统配置 a) 内核配置 2.6.27以后,ubifs被整合进内核树中,本文档所使用的2.6.39内核中已经包好UBIFS的相关代码,因此直接进行make menuconfig配置即可。 Device Drivers --- * Memory Technology Device (MTD) support --- * Enable UBI - Unsorted block images --- File systems --- Miscellaneous filesystems ---
[单片机]
UBIFS<font color='red'>文件系统</font>搭建与配置(<font color='red'>Micro2440</font> + <font color='red'>linux</font> 2.6.<font color='red'>39</font>)
linux 2.6.24.4在S3C2410上的移植(根文件系统cramfs,ramdisk,jffs2)(基于GEC2410)
内核可以跑起来,接下来就是移植根文件系统了. 我们使用BusyBox-1.10.1来创建根文件系统.下载地址为:http://www.busybox.net/downloads/ 1.设置BusyBox (1)解压 #tar -xvjf BusyBox-1.10.1.tar.bz2 #cd BusyBox-1.10.1 (2)修改Makefile,设置CROSS_COMPILE ARCH ?= arm CROSS_COMPILE ?= /home/GEC2410/toolchain/arm-softfloat-linux-gnu/bin/arm-softfloat-linux-gnu- (根据自己的交叉编译环境路径) (3)配置B
[单片机]
Linux平台驱动-LED驱动(Micro2440 + linux 2.6.39
由于LINUX使用了MINI2440的配置,MICRO2440与MINI2440的硬件资料基本一样。因此LED驱动也是通用的,默认的MINI2440配置已经添加对板上4个LED的支持,这里只需要对其配置和测试进行简单的说明。 a) menuconfig配置 MICRO2440的LED驱动被定义为一LED类平台设备,使用该类型驱动需要在menuconfig中打开对LED类设备的支持。 # make menuconfig Device Drivers --- -*- LED Support --- -*- LED Cl
[单片机]
<font color='red'>Linux</font>平台驱动-LED驱动(<font color='red'>Micro2440</font> + <font color='red'>linux</font> 2.6.<font color='red'>39</font>)
Micro2440 + Linux 2.6.39建立NFS
完成了Linux 2.6.39的移植后,接下来先建立个NFS文件系统,使用“构建最小根文件系统.doc”文档中建立的文件系统(201407090326_fs_mini.tar.bz2 http://pan.baidu.com/s/1gdorX9h)作为NFS根文件系统。此步骤可参考搭建NFS的相关文档,这里不再说明。 a) 修改启动参数后重启 # setenv bootargs 'mem=64M console=ttySAC0,115200 mac=00:60:6E:42:BA:80 root=/dev/nfs nfsroot=192.168.2.222:/opt/MICRO2440/3.File
[单片机]
module方式调试驱动(Micro2440 + linux 2.6.39)
调试驱动时,为了避免每修改一次内核配置或驱动都要重新编译一次内核镜像,可以将驱动配置成模块(module)的方式进行调试,可在LINUX启动时动态地加载驱动模式到内核中,减少了编译时间,也省去了重启LINUX的时间,大大加快调试进度。 以下以Micro2440 + linux 2.6.39的RTC驱动为例子,进行动态编译。 a) 将RTC编译成module,并打开DEBUG输出 # make menuconfig Device Drivers --- * Real Time Clock --- RTC debug suppor
[单片机]
module方式调试驱动(<font color='red'>Micro2440</font> + <font color='red'>linux</font> 2.6.<font color='red'>39</font>)
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved