snifer

【原创】使用busybox创建文件系统

0
阅读(2054)

busybox是构造文件系统最常用的软件工具包,它被非常形象地称为嵌入式Linux系统中的“瑞士军刀”,因为它将许多常用的Linux命令和工具结合到了一个单独的可执行程序(busybox)中。

虽然与相应的GNU工具比较起来,busybox所提供的功能和参数略少,但在比较小的系统(例如启动盘)或者嵌入式系统中已经足够了。

busybox在设计上就充分考虑了硬件资源受限的特殊工作环境。它采用一种很巧妙的办法减少自己的体积:所有的命令都通过“插件”的方式集中到一个可执行文件中,在实际应用过程中通过不同的符号链接来确定到底要执行哪个操作。采用单一执行文件的方式最大限度地共享了程序代码,甚至连文件头、内存中的程序控制块等其他系统资源都共享了,对于资源比较紧张的系统来说,真是最合适不过了。在busybox的编译过程中,可以非常方便地加减它的“插件”,最后的符号链接也可以由编译系统自动生成。 

[root@localhost fs2410]# tar jxvfbusybox-1.00.tar.bz2

[root@localhost fs2410]# cd busybox-1.00

[root@localhost busybox-1.00]# make defconfig  /*首先进行默认配置 */

[root@localhost busybox-1.00]# make menuconfig

blob.png

创建文件系统映像

[root@localhost fs2410]# mkdir cramfs

[root@localhost fs2410]# mount fs2410.cramgs cramfs –o loop

[root@localhost fs2410]# ls cramfs

bin  dev  etc  home  lib  linuxrc  proc  Qtopia ramdisk sbin testshell tmp usr var

因为cramfs文件系统是只读的,所以不能在这个挂载目录下直接进行修改,因此需要将文件系统中的内容复制到另一个目录中 。

[root@localhost fs2410]# mkdir backup_cramfs

[root@localhost fs2410]# tar cvfbackup.cramfs.tar  cramfs/

[root@localhost fs2410]# mv backup.cramfs.tar backup_cramfs/

[root@localhost fs2410]# umount cramfs

[root@localhost fs2410]# cd backup_cramfs

[root@localhost backup_cramfs]# tar zvf backup.cramfs.tar

[root@localhost backup_cramfs]# rm backup.cramfs.tar

[root@localhost fs2410]# cp~/hello backup_cramfs/cramfs/

[root@localhost fs2410]#  mkcramfs backup_cramfs/cramfs/ new.cramfs

好了,试一下已经可以用了,上午的一个小成果,与大家分享。