cramfs 根文件系统的制作(by liukun321咕唧咕唧)
来源:互联网 发布:java生成可执行文件 编辑:程序博客网 时间:2024/06/10 03:57
由于cramfs是只读文件系统,个人感觉现在用的并不广泛,所以直到现在也没用过cramfs。最近有个项目要求必须用它,顺着就写了下面的东西。
1、首先配置内核,打开对cramfs的支持:
File systems --->[*] Miscellaneous filesystems --->
<*> Compressed ROM file system support (cramfs) 2.编译cramfs制作工具
从http://sourceforge.net/projects/cramfs/下载cramfs-1.1.tar.gz。然后执行
#tar zxvf cramfs-1.1.tar.gz
#make
编译完成之后,会生成mkcramfs和cramfsck两个可执行文件,其中mkcramfs工具是用来创建cramfs文件系统的,而cramfsck工具则用来进行cramfs文件系统的释放以及检查。可以将这两个文件拷贝到/usr/local/bin目录下,方便使用.
PS:
===============================================================
mkcramfs的命令格式
mkcramfs的命令格式
mkcramfs [-h] [-e edition] [-i file] [-n name] dirname outfile
mkcramfs的各个参数解释如下:
-h: 显示帮助信息
-e edition:设置生成的文件系统中的版本号
-i file: 将一个文件映像插入这个文件系统之中(只能在Linux2.4.0以后的内核版本中使用)
-n name: 设定cramfs文件系统的名字
dirname: 指明需要被压缩的整个目录树
outfile: 最终输出的文件
cramfsck的命令格式:
cramfsck [-hv] [-x dir] file
cramfsck的各个参数解释如下:
-h: 显示帮助信息
-x dir: 释放文件到dir所指出的目录中
-v: 输出信息更加详细
file: 希望测试的目标文件
================================================================
3.压缩rootfs根文件系统生成 cramfs
#mkcramfs ./rootfs ./cramfs
4.在uboot下如下操作,将镜像写入nandflash
[Liuk@Micro2440] # tftp 30000000 cramfs
[Liuk@Micro2440] # nand erase 560000 4000000
[Liuk@Micro2440] # nand write.jffs2 30000000 560000 3000000
[Liuk@Micro2440] # nand write.jffs2 30000000 560000 3000000
PS:
如果你使用了qtopia:
如果你使用了qtopia:
由于cramfs是只读文件系统,在运行QT时会出现如下错误:
[root@FriendlyLEG /]# ./opt/Qtopia/bin/qpe
could not open for writing `/Settings/qpe_new.conf'
QCopChannel::send: Must construct a QApplication before using QCopChannel
这个/Settings/ 所在的目录为/root/Settings/
所以在启动时应将/root 目录挂载为 ramfs,这样我们就可以进行读写了,在挂载之前我将cp /root/Settings/ /tmp
所以在启动时应将/root 目录挂载为 ramfs,这样我们就可以进行读写了,在挂载之前我将cp /root/Settings/ /tmp
,其中/tmp 也被挂载为 ramfs。然后再执行cp /tmp/Setting /root 这个操作。整个过程被添加在/etc/init.d/rcS 脚本文件中。
/bin/mount -n -t ramfs none /tmp
/bin/cp -rf /root/Settings /tmp
/bin/mount -n -t ramfs none /root
/bin/cp -rf /tmp/Settings /root
/bin/cp -rf /tmp/Settings /root
修改后QT就可以正常启动了,但是新的配置不会被保存,QT只能加载存于nandflash中的配置。
- cramfs 根文件系统的制作(by liukun321咕唧咕唧)
- 关于u-boot for tiny210 NFS启动Android根文件系统(by liukun321 咕唧咕唧)
- 杀不死进程怎么办(by liukun321咕唧咕唧)
- 字符驱动 poll方法小记(by liukun321咕唧咕唧)
- 浅谈LINUX 内存分页机制(by liukun321咕唧咕唧)
- 浅析为何要内存对齐(by liukun321咕唧咕唧)
- 基于S5pv210流媒体服务器的实现之网络摄像头(by liukun321 咕唧咕唧)
- 基于Android2.3的车载导航---andorid GPS HAL的移植与分析(by liukun321咕唧咕唧)
- 基于Android2.3的车载导航---andorid GPS HAL的移植与分析(by liukun321咕唧咕唧)
- linux-3.1.4 在micro2440(mini2440)上的移植(一)(by liukun321咕唧咕唧)
- linux多线程驱动中调用udelay()对整个系统造成的影响(by liukun321咕唧咕唧)
- linux-3.1.4下的驱动模块 "Unknown symbol in module" 问题(by liukun321咕唧咕唧)
- 开发板终端显示中文文件名(by liukun321咕唧咕唧)
- 移植TP-LINK TL-WN721N 驱动到micro2440(by liukun321咕唧咕唧)
- 解决无线网卡工作一段时间USB就自动断开连接(by liukun321咕唧咕唧)
- 移植TP-LINK TL-WN721N 驱动到micro2440(by liukun321咕唧咕唧)
- 教你如何用路由器连接网页登陆式校园网(by liukun321 咕唧咕唧)
- Gps driver for Tiny4412+Android4.2.2(by liukun321咕唧咕唧)
- Visio 的Win7下容易崩溃问题解决
- 【问题】QT,安装就出错
- 开发那点事系列二 - ClassLoader trouble shooting references
- web.xml标签详解
- 修改Linux中的主机名、如何查看Linux IP
- cramfs 根文件系统的制作(by liukun321咕唧咕唧)
- 说说心目中理想的生活方式
- 适用于 php-5.2 的 php.ini 中文版
- 初学Ext UI组件总结及(一)-- >读Ext.Component源码学习笔记
- Notes事务管理策略
- 2012-2-13
- 关闭windows 7 home basic版 internet 连接状态测试
- 省市二级联动下拉框组件封装
- win7 home 版安装 Oracle 10g