嵌入式Linux 的Cramfs 根文件系统配置的解决方案
当系统启动并执行到系统初始化脚本/etc/init.d/rcS 时,mount 命令将/mnt/yaffs 目录挂载 为ramfs 类型的随机存储文件系统,并在此文件系统上建立Qtopia 和Qtopia/tmp 目录[5], /Qtopia/tmp 目录即为应用程序可能对文件系统进行写操作的临时文件目录,故应用程序便可 对/mnt/yaffs 目录进行读写操作,保障有读写操作要求的应用程序的正常执行。
(2) 修改/etc/profile 文件
用 vi 或其它文本工具打开myroot 目录下的/etc/profile 文件;
将 PATH 改为:PATH=/bin: /sbin: /usr/sbin: /用户程序目录名
在文件中新增以下语句:
LD_LIBRARY_PATH=/lib: /usr/lib: /用户库目录名
export PATH LD_LIBRARY_PATH
保存并退出 vi 或文本工具。
其中,修改环境变量 PATH 的目的是使系统命令/程序目录扩展到用户程序目录,这样, 当执行用户应用程序时,系统才能找到相应的共享文件等;修改LD_LIBRARY_PATH 的目的是将系统的共享库路径扩展为包含系统程序和用户程序库文件路径的库文件路径,以便在 运行用户程序时能使系统找到应用程序所使用的库文件。
4 制做Cramfs根文件系统
制做Cramfs根文件系统,即是把上述配置好的myroot 目录文件夹压缩成为能够让Linux内核支持的Cramfs格式的映像文件[6]。
制做 Cramfs 根文件系统需要用到mkcramfs 工具,mkcramfs 工具用来创建Cramfs 文件系统,它能把配置好的根文件系统压缩成Cramfs 格式的根文件系统,压缩比可达到2:
1,下面是mkcramfs 命令的格式:
mkcramfs [-h] [-e edition] [-i file] [-n name] dirname outfile
其中参数含义分别是-h:显示帮助信息;-e edition:设置生成的文件系统中的版本 号;-i file:将一个文件映象插入到文件系统中(只能在Linux2.4.0 以后的内核版本中使用); -n name:设定Cramfs 文件系统的名称;dirname:指明需要被压缩的整个目录树;outfile: 最终输出的文件。
将mkcramfs 工具拷贝到myroot 相同目录下,在终端中执行:
mkcramfs myroot myroot.cramfs
此命令所生成的myroot.cramfs 即为可下载到开发板上的根文件系统。
5 结束语
通过对嵌入式Linux根文件系统结构特点的分析,提出了基于Cramfs 根文件系统配置的新方法,使嵌入式根文件系统具有了可读、可写的功能,同时也减小了根文件系统所占的 存储空间。
linux操作系统文章专题:linux操作系统详解(linux不再难懂)
linux操作系统文章专题:linux操作系统详解(linux不再难懂)linux相关文章:linux教程
评论