在我們辛辛苦苦用指令碼編譯linux的時候,你發現最麻煩的是什麼了嗎?
嗯,可能你已經有所體會了,那就是往自己的小系統裡放置各種各樣的命令,不光放命令,還要往裡移植命令對應的庫檔案。這對於linux這個龐大的系統來說,那麼多的命令,移植起來真是……說不定哪天你就忘了哪個呢……
為瞭解決這樣的問題,馬哥給我們推薦了一個工具:Busybox……
當然,剛聽到的時候,以為是某饒舌團體呢-。-
好吧,那麼到底什麼是Busybox呢?
Busybox,可以說是一個潘多拉魔盒,它能製造出一切你想要用的到命令。而且這製造出來的命令簡直和真的命令一樣,霸氣逼人!它就像瑞士軍刀一樣,小,但是功能極其豐富。
你可能注意到我用的是“製造”這個詞了,那麼為什麼是製造呢?
因為,當你正確的安裝上busy後,你所用的所有命令,其實都是在用busybox這個命令,只不過,busybox這個命令,既可以當ls,又可以當echo ,還可以當free......
那麼好了,我們來看看busybox的真面目:
我們從我們的ftp上將busybox 1.16.1下載下來
wget ftp://192.168.0.254/pub/Sources/Busybox/busybox-1.16.1.tar.bz2
然後,我們將它放到我們準備安裝的檔案夾內。
mkdir /tmp/bzboxcp busybox-1.16.1.tar.bz2 /tmp/bzboxcd /tmp/bzbox
好的,下面我們解壓
tar vxf ./busybox-1.16.1.tar.bz2cd busybox-1.16.1
busybox為我們準備了一個詳細的配置清單。我們可以自己制定:
make menuconfig
我們可以根據自己的需要來定義busybox到底如何來為我們工作。
設定好之後,就可以
makemake install
這就為我們提供了可以調用的 BusyBox 的二進位檔案。下一個步驟是圍繞 BusyBox 構建一個環境,包括將標準 Linux 命令重新導向到 BusyBox 二進位檔案的符號連結。
預設情況下,這會建立一個新的本地子目錄 _install,其中包含了基本的 Linux 環境。在這個根目錄中,您會找到一個連結到 BusyBox 的 linuxrc 程式。這個 linuxrc 程式在構建安裝盤或急救盤(允許提前進行模組化的引導)時非常有用。同樣是在這個根目錄中,還有一個包含作業系統二進位檔案的
/sbin 子目錄。還有一個包含使用者二進位檔案的 /bin 目錄。在構建磁碟片發行版或嵌入式初始 RAM 磁碟時,我們可以將這個 _install 目錄遷移到目標環境中。我們還可以使用 make 程式的 PREFIX 選項將安裝目錄重新導向到其他位置。
最後,我們看看busybox中make支援的選項:
help |
顯示 make 選項的完整列表 |
defconfig |
啟用預設的(通用)配置 |
allnoconfig |
禁用所有的應用程式(空配置) |
allyesconfig |
啟用所有的應用程式(完整配置) |
allbareconfig |
啟用所有的應用程式,但是不包括子特性 |
config |
基於文本的組態工具 |
menuconfig |
N-curses(基於菜單的)組態工具 |
all |
編譯 BusyBox 二進位檔案和文檔(./docs) |
busybox |
編譯 BusyBox 二進位檔案 |
clean |
清除原始碼樹 |
distclean |
徹底清除原始碼樹 |
sizes |
顯示所啟用的應用程式的文本/資料大小 |
之後我們的小linux上就會出現各種各樣的命令了~!
雖然他們都是連結檔案,但是他們和真正的命令幾乎沒有任何不同!~
busybox,這個在安裝系統的時候非常有用的工具,希望你學會了如何安裝,調試,使用。