Android busybox的編譯、使用及安裝
busybox是什麼?
(1)busybox是Linux上的一個應用程式(application),即只有一個ELF檔案頭。
(2)它整合了許多Linux上常用的工具和命令(utilities), 如rm, ls, gzip, tftp等。對於這些工具和命令,busybox中的實現可能不是最全的,但卻是最常用的,因此它的特點就是短小精悍,特別適合對尺寸很敏感的嵌入式系統。
(3)busybox的官方網站是http://www.busybox.net/
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及每個命令的軟連結。以後只要將這個目錄拷貝到目標平臺上就可以了。