<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          編譯busybox

          作者: 時(shí)間:2011-02-25 來源:網(wǎng)絡(luò) 收藏
          編譯busybox

          1,busybox簡(jiǎn)介

          busybox是一個(gè)集成了一百多個(gè)最常用linux命令和工具的軟件,他甚至還集成了一個(gè)http服務(wù)器和一個(gè)telnet服務(wù)器,而所有這一切功能卻只有區(qū)區(qū)1M左右的大小.我們平時(shí)用的那些linux命令就好比是分力式的電子元件,而busybox就好比是一個(gè)集成電路,把常用的工具和命令集成壓縮在一個(gè)可執(zhí)行文件里,功能基本不變,而大小卻小很多倍,在linux應(yīng)用中,busybox有非常廣的應(yīng)用,另外,大多數(shù)linux發(fā)行版的安裝程序中都有busybox的身影,安裝linux的時(shí)候案ctrl alt F2就能得到一個(gè)控制臺(tái),而這個(gè)控制臺(tái)中的所有命令都是指向busybox的鏈接.
          Busybox的小身材大作用的特性,給制作一張軟盤的linux帶來了及大方便.

          2,busybox的用法

          可以這樣用busybox
          #busybox ls
          他的功能就相當(dāng)運(yùn)行l(wèi)s命令
          最常用的用法是建立指向busybox的鏈接,不同的鏈接名完成不同的功能.
          #ln -s busybox ls
          #ln -s busybox rm
          #ln -s busybox mkdir

          然后分別運(yùn)行這三個(gè)鏈接:
          #./ls
          #./rm
          #./mkdir

          就可以分別完成了ls rm 和mkdir命令的功能.雖然他們都指向同一個(gè)可執(zhí)行程序busybox
          但是只要鏈接名不同,完成的功能就不同,busybox就是這么的神奇.
          很多l(xiāng)inux網(wǎng)站都提供busybox的源代碼下載.目前版本是busybox1.0正式版.

          3,配置busybox

          busybox的配置程序和linux內(nèi)核菜單配置方式簡(jiǎn)直一模一樣.熟悉用make menuconfig方式配置linux內(nèi)核的朋友很容易上手.

          #cp busybox-1.00.tar.gz /babylinux
          #cd /babylinux
          #tar xvfz busybox-1.00.tar.gz
          #cd busybox-1.00
          #make menuconfig

          下面是需要編譯進(jìn)busybox的功能選項(xiàng),其他的可以根據(jù)需要自選,但是同樣不要太貪心.
          General Configuration應(yīng)該選的選項(xiàng)
          Show verbose applet usage messages
          Runtime SUID/SGID configuration via /etc/busybox.conf

          Build Options
          Build BusyBox as a static binary (no shared libs)
          這個(gè)選項(xiàng)是一定要選擇的,這樣才能把busybox編譯成靜態(tài)鏈接的可執(zhí)行文件,運(yùn)行時(shí)才獨(dú)立于其他函數(shù)庫.否則必需要其他庫文件才能運(yùn)行,在單一個(gè)linux內(nèi)核不能使他正常工作.

          Installation Options
          Don't use /usr
          這個(gè)選項(xiàng)也一定要選,否則make install 后busybox將安裝在原系統(tǒng)的/usr下,這將覆蓋掉系統(tǒng)原有的命令.選擇這個(gè)選項(xiàng)后,make install后會(huì)在busybox目錄下生成一個(gè)叫_install的目錄,里面有busybox和指向他的鏈接.

          其他選項(xiàng)都是一些linux基本命令選項(xiàng),自己需要哪些命令就編譯進(jìn)去,一般用默認(rèn)的就可以了.

          配置好后退出并保存.

          4,編譯并安裝busybox

          #make
          #make install

          編譯好后在busybox目錄下生成子目錄_install,里面的內(nèi)容:
          drwxr-xr-x 2 root root 4096 11月 24 15:28 bin
          lrwxrwxrwx 1 root root 11 11月 24 15:28 linuxrc -> bin/busybox
          drwxr-xr-x 2 root root 4096 11月 24 15:28 sbin
          其中可執(zhí)行文件busybox在bin目錄下,其他的都是指向他的符號(hào)鏈接.
          我編譯出來的busybox可執(zhí)行文件是935K,加上符號(hào)鏈接,整個(gè)_install目錄是952K.加上845K的內(nèi)核不是已經(jīng)超過1440K了嗎?別擔(dān)心,我們將對(duì)整個(gè)根文件系統(tǒng)做大幅度的壓縮.
          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();