- 14
- 0
- 约8.54千字
- 约 8页
- 2016-02-24 发布于江苏
- 举报
busybox打造2410文件系统.doc
用busyBox打造自己的2410文件系统
【平台信息】目标板(Star2410)------------------------CPU: S3C2410X SDRAM: Y57V561620(32MB) FLASH: K9F1208(64MB) NET: DM9000HOST---------------------------------------Linux Realse Version: Fecora 11CrossCompiler: gcc-3.4.6/glibc-2.3.2
busybox
Busybox被形象的称为嵌入式linux系统中的瑞士军刀,可以从这个称呼中看到busybox是一个集多种功能于一身的东西,它将许多常用的UNIX命令和工具结合到了一个单独的可执行程序中。虽然与相应的GNU工具比较起来,busybox所提供的功能和参数略少,但在比较小的系统(例如启动盘)或者嵌入式系统中,已经足够了。
Busybox在设计上就充分考虑了硬件资源受限的特殊工作环境。它采用一种很巧妙的办法减少自己的体积:所有的命令都通过“插件”的方式集中到一个可执行文件中,在实际应用过程中通过不同的符号链接来确定到底要执行哪个操作。例如最终生成的可执行文件为busybox,当为它建立一个符号链接ls的时候,就可以通过执行这个新命令实现列目录的功能。采用单一执行文件的方式最大限度地共享了程序代码,甚至连文件头、内存中的程序控制块等其他操作系统资源都共享了,对于资源比较紧张的系统来说,真是最合适不过了。
在busybox的编译过程中,可以非常方便地加减它的“插件”,最后的符号链接也可以由编译系统自动生成。
Busybox的编译过程与内核的编译过程很接近都是先make menuconfig进行配置,然后在make进行编译。
busybox的配置编译
[1]下载busybox源码:/
也可以直接使用已经下载的压缩包。
[2]解压busybox-1.15.3.tar.bz2。
$tar jxvf busybox-1.15.3.tar.bz2
[3]运行make menuconfig进行配置。
$ cd busybox-1.15.3
[xie@happyending busybox-1.15.3]$ make menuconfig
[4]可以选择静态编译,如果是动态编译的话要拷贝相应的库文件,默认配置保存即可。
将busybox编译设置为静态编译,可以减少启动时查找动态链接库时间。
Busybox Settings ---
Build Options ---
[*] Build BusyBox as a static binary (no shared libs)
(arm-linux-) Cross Compiler prefix
Installation Options ---
(./_install) BusyBox installation prefix
[5]配置完成后,就可以使用make命令进行最后的编译和安装了。运行make all install,这时会busybox目录下生成_install文件夹。
[xie@happyending busybox-1.15.3]$ make all install
安装完成后,会在_install目录下的bin、sbin等目录生成相应的工具文件,这些工具文件都是指向busybox文件符号的链接。
[xie@happyending busybox-1.15.3]$ cd _install/
[xie@happyending _install]$ ls
bin linuxrc sbin usr
查看文件夹下的信息
[xie@happyending busybox-1.15.3]$ ls -l _install/
总计 12
drwxrwxr-x 2 xie xie 4096 04-18 17:07 bin
lrwxrwxrwx 1 xie xie 11 04-18 17:07 linuxrc - bin/busybox
drwxrwxr-x 2 xie xie 4096 04-18 17:07 sbin
drwxrwxr-x 4 xie xie 4096 04-18 17:07 usr
文件系统打包工具
[1]从/cramfs/下载cramfs工具。
[2]解压 cramfs-1.1.tar.gz
[xie@happyending cramfs]$ tar zxvf cramfs-1.1.tar.gz
[3]进入cramfs工具的根目录执行make。make后在cramfs工具的根目录中就会生成一个mkcra
原创力文档

文档评论(0)