Linux中的潘多拉! Busybox!

nevercgoodbye 2011-08-15

在我们辛辛苦苦用脚本编译linux的时候,你发现最麻烦的是什么了么?

嗯,可能你已经有所体会了,那就是往自己的小系统里放置各种各样的命令,不光放命令,还要往里移植命令对应的库文件。这对于linux这个庞大的系统来说,那么多的命令,移植起来真是……说不定哪天你就忘了哪个呢……

为了解决这样的问题,马哥给我们推荐了一个工具:Busybox…… 

当然,刚听到的时候,以为是某说唱团体呢-。-

好吧,那么到底什么是Busybox呢? 

Busybox,可以说是一个潘多拉魔盒,它能制造出一切你想要用的到命令。而且这制造出来的命令简直和真的命令一样,霸气逼人!它就像瑞士军刀一样,小,但是功能极其丰富。

你可能注意到我用的是“制造”这个词了,那么为什么是制造呢?

因为,当你正确的安装上busy后,你所用的所有命令,其实都是在用busybox这个命令,只不过,busybox这个命令,既可以当ls,又可以当echo ,还可以当free...... 

那么好了,我们来看看busybox的真面目:

我们从我们的ftp上将busybox 1.16.1下载下来

  1. wget ftp://192.168.0.254/pub/Sources/Busybox/busybox-1.16.1.tar.bz2  

然后,我们将它放到我们准备安装的文件夹内。

  1. mkdir /tmp/bzbox  
  2. cp busybox-1.16.1.tar.bz2 /tmp/bzbox  
  3. cd /tmp/bzbox  

好的,下面我们解压

  1. tar vxf ./busybox-1.16.1.tar.bz2  
  2.   
  3. cd busybox-1.16.1  

busybox为我们准备了一个详细的配置清单。我们可以自己制定:

  1. make menuconfig  

Linux中的潘多拉! Busybox!

Linux中的潘多拉! Busybox!

我们可以根据自己的需要来定义busybox到底如何来为我们工作。

设置好之后,就可以

  1. make  
  2. make install  

这就为我们提供了可以调用的 BusyBox 的二进制文件。下一个步骤是围绕 BusyBox 构建一个环境,包括将标准 Linux 命令重定向到 BusyBox 二进制文件的符号链接。
默认情况下,这会创建一个新的本地子目录 _install,其中包含了基本的 Linux 环境。在这个根目录中,您会找到一个链接到 BusyBox 的 <font face="Courier New" size="2">linuxrc</font> 程序。这个 <font face="Courier New" size="2">linuxrc</font> 程序在构建安装盘或急救盘(允许提前进行模块化的引导)时非常有用。同样是在这个根目录中,还有一个包含操作系统二进制文件的 /sbin 子目录。还有一个包含用户二进制文件的 /bin 目录。在构建软盘发行版或嵌入式初始 RAM 磁盘时,我们可以将这个 _install 目录迁移到目标环境中。我们还可以使用 make 程序的 <font face="Courier New" size="2">PREFIX</font> 选项将安装目录重定向到其他位置。

最后,我们看看busybox中make支持的选项:


<font face="Courier New" size="2">help</font>显示 make 选项的完整列表
<font face="Courier New" size="2">defconfig</font>启用默认的(通用)配置
<font face="Courier New" size="2">allnoconfig</font>禁用所有的应用程序(空配置)
<font face="Courier New" size="2">allyesconfig</font>启用所有的应用程序(完整配置)
<font face="Courier New" size="2">allbareconfig</font>启用所有的应用程序,但是不包括子特性
<font face="Courier New" size="2">config</font>基于文本的配置工具
<font face="Courier New" size="2">menuconfig</font>N-curses(基于菜单的)配置工具
<font face="Courier New" size="2">all</font>编译 BusyBox 二进制文件和文档(./docs)
<font face="Courier New" size="2">busybox</font>编译 BusyBox 二进制文件
<font face="Courier New" size="2">clean</font>清除源代码树
<font face="Courier New" size="2">distclean</font>彻底清除源代码树
<font face="Courier New" size="2">sizes</font>显示所启用的应用程序的文本/数据大小

之后我们的小linux上就会出现各种各样的命令了~!

虽然他们都是链接文件,但是他们和真正的命令几乎没有任何不同!~

busybox,这个在安装系统的时候非常有用的工具,希望你学会了如何安装,调试,使用。

相关推荐