Social Icons

twitterfacebookgoogle plusrss feedemail

5/21/2013

[USB linux] 4.建置busybox


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/bininitrd/sbin下看到很多檔案,而且都是symbolic link連到initrd/bin/busybox

好了,經過冗長的準備步驟,我們可以把這些檔案打包起來了。
先卸載映像檔
 cd ~/build-usb-linux
 sudo umount initrd
然後壓縮起來
 gzip -9 -c ramdisk > initrd.img

最後,複製initrd.img到你的隨身碟中

.



相關連結
[USB linux] 1.打造2MB 的 linux USB 隨身碟
[USB linux] 2.核心編譯
[USB linux] 3.建立ramdisk的root filesystem (initrd)
[USB linux] 4.建置busybox
[USB linux] 5.最後步驟建置boot loader

沒有留言:

張貼留言

俗話說
凡走過必留下痕跡,凡住過必留下鄰居
凡爬過必留下樓梯,凡來過必留下IP
看過文章之後歡迎留下您寶貴的意見喔!

 
 
无觅相关文章插件,迅速提升网站流量