Linux下常見的指令,都是由「程式」所組成,但是這些程式如果全部放進來,也會佔掉不少空間,因此有了busybox busybox包含了數十種Linux下常見的標準工具,例如ls, cp, cat, more.... 甚至包含了http server,但是全部加起來都只有幾百k的大小,是作為嵌入式系統工具庫更好的選擇。
下面就來介紹該怎麼組態、編譯、安裝busybox
回到我們的工作目錄,並解開busybox
cd ~/build-usb-linux tar -jxf busybox-1.13.2.tar.bz2 cd busybox-1.13.2 先進行組態設定 make menuconfig 先設定安裝目錄,將installation prefix設為剛剛所建立的ramdisk掛載點 這邊不能使用"~"來作為家目錄,所以你必須填上完整的路徑。 Busybox Settings ---> Installation Options ---> (/home/koukai/build-usb-linux/initrd) BusyBox installation prefix
設定交叉編譯器的選項如下的cross compiler prefix,但因為我們要跑在自己電腦上,所以可以忽略交叉編譯器的設定無所謂,
Busybox Settings ---> Build Options ---> [*] Build BusyBox as a static binary (no shared libs) () Cross Compiler prefix 例如你所用的是arm-linux-gcc,就要將prefix設為arm-linux-
然後要選取將busybox編為靜態連結!!!!
如果沒有特別需求的話,照預設值就可以了, 那設定完成之後,就進行makr吧! make make過程中,應該是不會有錯誤,但事情總是會那麼不順利,這時候可以先觀察一下是哪個.c檔出問題, 如果是某某工具的.c檔,也許你可以先想想看這是不是需要用的工具,如果不是,或許關掉他就可以 順利編譯完成了。
最後,進行安裝吧!因為我們沒有去變更掛載點的擁有者、群組,所以這邊我們還是需要使用root權限去進行安裝。 sudo make install
安裝完成之後應該可以在initrd/bin, initrd/sbin下看到很多檔案,而且都是symbolic link連到initrd/bin/busybox
好了,經過冗長的準備步驟,我們可以把這些檔案打包起來了。 先卸載映像檔 cd ~/build-usb-linux sudo umount initrd 然後壓縮起來 gzip -9 -c ramdisk > initrd.img 最後,複製initrd.img到你的隨身碟中
.
|
沒有留言:
張貼留言
俗話說
凡走過必留下痕跡,凡住過必留下鄰居
凡爬過必留下樓梯,凡來過必留下IP
看過文章之後歡迎留下您寶貴的意見喔!