busybox

busybox

BusyBox 是一個集成了三百多個最常用Linux命令和工具的軟體。BusyBox 包含了一些簡單的工具,例如ls、cat和echo等等,還包含了一些更大、更複雜的工具,例grep、find、mount以及telnet。有些人將 BusyBox 稱為 Linux 工具里的瑞士軍刀。簡單的說BusyBox就好像是個大工具箱,它集成壓縮了 Linux 的許多工具和命令,也包含了 Android 系統的自帶的shell。

基本介紹

  • 軟體名稱:BusyBox
  • 開發商:Rob,Bernhard,Denys等 
  • 軟體平台:類Unix系統
  • 軟體版本:busybox-1.29.3
  • 更新時間:2018-9-9
  • 軟體語言:C語言
  • 軟體大小:2.2M(V1.29.3,tar.bz)
  • 軟體授權:GPLv2
簡介,發源,編譯安裝,交叉編譯,配置,使用技巧,

簡介

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:28linuxrc -> 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的原始碼下載。
android busyboxandroid busybox

相關詞條

熱門詞條

聯絡我們