轉載於:http://blog.sina.com.cn/wyw1976
busybox是什么?
(1)busybox是Linux上的一個應用程序(application),即只有一個ELF文件頭。
(2)它整合了許多Linux上常用的工具和命令(utilities), 如rm, ls, gzip, tftp等。對於這些工具和命令,busybox中的實現可能不是最全的,但卻是最常用的,因此它的特點就是短小精悍,特別適合對尺寸很敏感的嵌入式系統。
(3)busybox的官方網站是http://www.busybox.net/,在這里你可以找到與busybox相關的所有資料。
busybox編譯和移植
busybox 的編譯與Linux內核的編譯過程類似。從http://www.busybox.net/downloads/ 下載最新的源碼,解壓后,通過以下幾步,即可完成busybox的編譯和移植:
(1)make xxxxxxconfig
busybox提供了幾種配置:defconfig (缺省配置)、allyesconfig(最大配置)、 allnoconfig(最小配置),一般選擇缺省配置即可。
這一步結束后,將生成.config
(2)make menuconfig
這一步是可選的,當你認為上述配置中還有不盡如意的地方,可以通過這一步進行微調,加入或去除某些命令。
這一步實際上是修改.config
(3)make CROSS_COMPILE=arm-linux-
這一步就是根據.config,生成busybox,當然你也可以指定其他的編譯器, 如arm-linux-gnueabi-。("make CROSS_COMPILE="將用gcc編譯PC機上運行的busybox.
busybox的使用
busybox的使用很簡單,有以下三種方式:
(1) busybox后直接跟命令,如
busybox ls
busybox tftp
(2) 直接將busybox重命名,如
cp busybox tftp
cp busybox tar
然后再執行tftp, tar
(3)創建符號鏈接(symbolic link), 如
ln -s busybox rm
ln -s busybox mount
然后就可以執行rm,mount等
busybox的安裝
以上三種方法中,第三種方法是最簡潔最方便的,可是如果手工為busybox中每個命令都創建一個軟鏈接,那是相當的費事。為此,busybox提供了一種自動方法:
在busybox編譯成功后,接着執行“make install”,則會產生一個_install目錄,其中包含了busybox及每個命令的軟鏈接。以后只要將這個目錄拷貝到目標平台上就可以了。
