簡介
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 bin
rwxrwxrwx 1 root root 11 11月 24 15:28
linuxrc -> bin/busybox
drwxr-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 messages
Runtime SUID/SGID configuration via /etc/busybox.conf
Build Options
Build BusyBox as a static binary (no shared libs)
這個選項是一定要選擇的,這樣才能把busybox編譯成
靜態連結的
執行檔,運行時才獨立於其他函式館.否則必需要其他庫檔案才能運行,在單一個
linux核心不能使它正常工作.
Installation Options
Don'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的原始碼下載。