在我们辛辛苦苦用脚本编译linux的时候,你发现最麻烦的是什么了么?
嗯,可能你已经有所体会了,那就是往自己的小系统里放置各种各样的命令,不光放命令,还要往里移植命令对应的库文件。这对于linux这个庞大的系统来说,那么多的命令,移植起来真是……说不定哪天你就忘了哪个呢……
为了解决这样的问题,马哥给我们推荐了一个工具:Busybox……
当然,刚听到的时候,以为是某说唱团体呢-。-
好吧,那么到底什么是Busybox呢?
Busybox,可以说是一个潘多拉魔盒,它能制造出一切你想要用的到命令。而且这制造出来的命令简直和真的命令一样,霸气逼人!它就像瑞士军刀一样,小,但是功能极其丰富。
你可能注意到我用的是“制造”这个词了,那么为什么是制造呢?
因为,当你正确的安装上busy后,你所用的所有命令,其实都是在用busybox这个命令,只不过,busybox这个命令,既可以当ls,又可以当echo ,还可以当free......
那么好了,我们来看看busybox的真面目:
我们从我们的ftp上将busybox 1.16.1下载下来
wget ftp://192.168.0.254/pub/Sources/Busybox/busybox-1.16.1.tar.bz2
然后,我们将它放到我们准备安装的文件夹内。
mkdir /tmp/bzbox cp busybox-1.16.1.tar.bz2 /tmp/bzbox cd /tmp/bzbox
好的,下面我们解压
tar vxf ./busybox-1.16.1.tar.bz2 cd busybox-1.16.1
busybox为我们准备了一个详细的配置清单。我们可以自己制定:
make menuconfig
我们可以根据自己的需要来定义busybox到底如何来为我们工作。
设置好之后,就可以
make make install
这就为我们提供了可以调用的 BusyBox 的二进制文件。下一个步骤是围绕 BusyBox 构建一个环境,包括将标准 Linux 命令重定向到 BusyBox 二进制文件的符号链接。
默认情况下,这会创建一个新的本地子目录 _install,其中包含了基本的 Linux 环境。在这个根目录中,您会找到一个链接到 BusyBox 的 linuxrc 程序。这个 linuxrc 程序在构建安装盘或急救盘(允许提前进行模块化的引导)时非常有用。同样是在这个根目录中,还有一个包含操作系统二进制文件的 /sbin 子目录。还有一个包含用户二进制文件的 /bin 目录。在构建软盘发行版或嵌入式初始 RAM 磁盘时,我们可以将这个 _install 目录迁移到目标环境中。我们还可以使用 make 程序的 PREFIX 选项将安装目录重定向到其他位置。
最后,我们看看busybox中make支持的选项:
help
显示 make 选项的完整列表
defconfig
启用默认的(通用)配置
allnoconfig
禁用所有的应用程序(空配置)
allyesconfig
启用所有的应用程序(完整配置)
allbareconfig
启用所有的应用程序,但是不包括子特性
config
基于文本的配置工具
menuconfig
N-curses(基于菜单的)配置工具
all
编译 BusyBox 二进制文件和文档(./docs)
busybox
编译 BusyBox 二进制文件
clean
清除源代码树
distclean
彻底清除源代码树
sizes
显示所启用的应用程序的文本/数据大小
之后我们的小linux上就会出现各种各样的命令了~!
虽然他们都是链接文件,但是他们和真正的命令几乎没有任何不同!~
busybox,这个在安装系统的时候非常有用的工具,希望你学会了如何安装,调试,使用。