1. 程式人生 > >Android busybox的編譯、使用及安裝

Android busybox的編譯、使用及安裝

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及每個命令的軟連結。以後只要將這個目錄拷貝到目標平臺上就可以了。