BusyBox 是一个集成了三百多个最常用Linux命令和工具的软体。BusyBox 包含了一些简单的工具,例如ls、cat和echo等等,还包含了一些更大、更複杂的工具,例grep、find、mount以及telnet。有些人将 BusyBox 称为 Linux 工具里的瑞士军刀。简单的说BusyBox就好像是个大工具箱,它集成压缩了 Linux 的许多工具和命令,也包含了 Android 系统的自带的shell。
BusyBox 将许多具有共性的小版本的UNIX工具结合到一个单一的执行档。这样的集合可以替代大部分常用工具比如的GNU fileutils , shellutils等工具,BusyBox提供了一个比较完善的环境,可以适用于任何小的嵌入式系统。
BusyBox 最初是由 Bruce Perens 在 1996 年为Debian GNU/Linux安装盘编写的。其目标是在一张软碟上创建一个可引导的 GNU/Linux 系统,这可以用作安装盘和急救盘。
#make defconfig#make#make install编译好后在busybox目录下生成子目录_install,里面的内容:drwxr-xr-x 2 root root 4096 11月 24 15:28 binrwxrwxrwx 1 root root 11 11月 24 15:28linuxrc -> bin/busyboxdrwxr-xr-x 2 root root 4096 11月 24 15:28 sbin其中执行档busybox在需要製作档案系统映像烧入板子的情况下,busybox应放在根档案系统目录下的bin中,其他的都是指向他的符号连结.
要实现交叉编译,需要设定好交叉编译器前缀,可以使用以下命令设定前缀:#make CROSS_COMPILE=arm-linux-uclibcgnueabi-或者,可以由环境变数设定CROSS_COMPILE的值,CROSS_COMPILE的默认值不是执行档的前缀。
busybox的配置程式和linux核心选单配置方式简直一模一样.熟悉用make menuconfig方式配置linux核心的朋友很容易上手.#cp busybox-1.00.tar.gz /babylinux#cd /babylinux#tar xvfz busybox-1.00.tar.gz#cd busybox-1.00#make menuconfig下面是需要编译进busybox的功能选项。General Configuration应该选的选项Show verbose applet usage messagesRuntime SUID/SGID configuration via /etc/busybox.confBuild OptionsBuild BusyBox as a static binary (no shared libs)这个选项是一定要选择的,这样才能把busybox编译成静态连结的执行档,运行时才独立于其他函式馆.否则必需要其他库档案才能运行,在单一个linux核心不能使它正常工作.Installation OptionsDon't use /usr这个选项也一定要选,否则make install 后busybox将安装在原系统的/usr下,这将覆盖掉系统原有的命令.选择这个选项后,make install后会在busybox目录下生成一个叫_install的目录,里面有busybox和指向它的连结.其它选项都是一些linux基本命令选项,自己需要哪些命令就编译进去,一般用默认的就可以了,配置好后退出并保存。
可以这样用busybox#busybox ls他的功能就相当运行ls命令最常用的用法是建立指向busybox的连结,不同的连结名完成不同的功能.#ln -s busybox ls#ln -s busybox rm#ln -s busybox mkdir然后分别运行这三个连结:#./ls#./rm#./mkdir就可以分别完成了ls rm 和mkdir命令的功能.虽然他们都指向同一个可执行程式busybox,但是只要连结名不同,完成的功能就不同,很多linux网站都提供busybox的原始码下载。
本文发布于:2023-03-25 16:46:36,感谢您对本站的认可!
本文链接:http://www.ranqi119.com/to/1679875088233356.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |