Linux根文件系统的制作
件解开.Cramfs不会影响系统的读取文件的速度,是一个高度压缩的文件系统.因此非常广泛应用于嵌入式系统中.
在嵌入式的环境之下,内存和外存资源都需要节约使用.如果使用RAMDISK方式来使用文件系统,那么在系统运行之后,要把Flash上的映像文件解压缩到内存中,构造起RAMDISK环境,才可以开始运行程序.但是它也有很致命的弱点.在正常情况下,同样的代码不仅在Flash中占据了空间(以压缩后的形式存在),还在内存中占用了更大的空间(以解压缩之后的形式存在),这违背了嵌入式环境下尽量节省资源的要求. 使用CramFS文件系统就是一种解决这个问题的方式.CramFS是一个压缩格式的文件系统,它并不需要一次性地将文件系统中的所有内容都解压缩到内存之中,而只是在系统需要访问某个位置的数据的时候,马上计算出该数据在CramFS中的位置,将它实时地解压缩到内存之中,然后通过对内存的访问来获取文件系统中需要读取的数据.CramFS中的解压缩以及解压缩之后的内存中数据存放位置都是由CramFS文件系统本身进行维护的,用户并不需要了解具体的实现过程,因此这种方式增强了透明度,对开发人员来说,既方便,又节省了存储空间. 但是Cramfs也有其缺点:延迟、小于16MB、不支持写,只支持PAGE_CREATE_SIZE=4096的内核. 制作的命令:(root文件夹中存放着文件系统) #mkcramfs root cramfs.img 5. 其他根文件系统的制作 制作yaffs文件系统: mkyaffsimage myroots myroots.img 制作squashfs: mksquashfs $(FS_DIR) $(FS_NAME) -noappend -be -lzma -no-fragments –noI
6. BusyBox编译以及移植(根文件系统内命令的制作移植) 建立目标板空根目录文件夹及根目录下的文件夹: [root@190 friendly-arm]# mkdir myroots [root@190 friendly-arm]#pwd /friendly-arm/myroots [root@190 friendly-arm]#cd myroots [root@190 myroots]# mkdir bin sbin usr lib dev mnt opt root etc home proc tmp var [root@190 myroots]# mkdir etc/init.d 进入etc/init.d目录下,建立一个脚本文件,并命名为rcS,用gedit打开,添加如下内容: #! /bin/sh PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin: runlevel=S prevlevel=N umask 022 export PATH runlevel prevlevel # # Trap CTRL-C &c only in this shell so we can interrupt subprocesses. # trap ":" INT QUIT TSTP 创建 dev 中的节点 如果使用“linux 2.6.xx”的内核,应该事先创建节点“console”、“null”.否则在系统启动时内容会提示以下错误: Warning: unable to open an initial console.Kernel panic - not syncing: Attempted to kill init! 创建节点的命令如下: # mknod dev/console c 5 1# mknod dev/null c 1 3 移植Busybox: 进入到压缩文件存放的目录下,并解压.然后进入解压后的busybox目录文件夹,随后配置busybox . [root@190 busybox-1.2.0]# make menuconfig 执行之后,将出现如下图所示的配置界面: 每个版本的配置选项组织有所不同.不管怎样,我们注意以下选项就行了: 1) Support for devfs 2) Build BusyBox as a static binary ( no shared libs ) //将busybox编译成静态链接 3) Do you want to build busybox with a Cross Compile? (/usr/local/arm/3.3.2/bin/arm-linux-) Cross Compile prefix //指定交叉编译器 4) init 5) Support reading an inittab file //支持init读取/etc/inittab 配置文件 6) (X) ash选中ash //建立的rcS脚本才能执 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |