教你如何編譯busybox
出處:互聯(lián)網(wǎng) 發(fā)布于:2011-09-04 13:07:08
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
1.在Linux解壓縮,或者在Windows下解壓縮復(fù)制到Linux里面
tar xcvf busybox-0.60.5.tar.gz
2.cd busybox 進(jìn)入目錄,查看Makefile文件,實(shí)在比較復(fù)雜,不過確是了解源代碼
結(jié)構(gòu)的方法!對(duì)這個(gè)文件作如下兩處修改。
a.將84行下面這6行內(nèi)容
# If you are running a cross compiler, you may want to set this
# to something more interesting, like "powerpc-linux-".
CROSS =
CC = $(CROSS)gcc
AR = $(CROSS)ar
STRIP = $(CROSS)strip
修改為
# If you are running a cross compiler, you may want to set this
# to something more interesting, like "powerpc-linux-".
CROSS = /home/gcc/arm/gcc-3.3.6-glibc-2.3.2/arm-linux
CC = $(CROSS)/bin/arm-linux-gcc
AR = $(CROSS)/bin/arm-linux-ar
STRIP = $(CROSS)/bin/arm-linux-strip
注意:CROSS內(nèi)容后面不可有空格,結(jié)合CC,AR,STRIP的內(nèi)容,一定要保證是你
自己機(jī)器上arm-linux-gcc,arm-linux-ar,arm-linux-strip的位置,這里使用的是上
篇文章里編譯的路徑。
可以看出這里是為了指定使用的編譯器。
b.將108行如下內(nèi)容
#LDFLAGS+=-nostdlib
#LIBRARIES = $(LIBCDIR)/lib/libc.a -lgcc
#CROSS_CFLAGS+=-nostdinc -I$(LIBCDIR)/include -I$(GCCINCDIR)
#GCCINCDIR = $(shell gcc -print-search-dirs | sed -ne "s/install: \(。*\)/\1include/gp")
修改為
#LDFLAGS+=-nostdlib
#LIBRARIES = $(LIBCDIR)/lib/libc.a -lgcc
CROSS_CFLAGS+= -I$(CROSS)/arm-linux/include -I$(CROSS)/arm-linux/sys-include#-I$(GCCINCDIR)
#GCCINCDIR = $(shell gcc -print-search-dirs | sed -ne "s/install: \(。*\)/\1include/gp")
這里指定的是使用頭文件。
3.修改后保存,編譯
在busybox路徑下,執(zhí)行命令make all,如有錯(cuò)誤,多半是上面所述Makefile文件的問題,
修改后先執(zhí)行make clean再執(zhí)行make all。
成功之后,會(huì)顯示:
BusyBox Documentation
mkdir -p docs
pod2text docs/busybox.pod > docs/BusyBox.txt
mkdir -p docs
pod2man --center=BusyBox --release="version 0.60.5" \
docs/busybox.pod > docs/BusyBox.1
pod2html --noindex docs/busybox.pod > docs/BusyBox.html
4.將busybox路徑下編譯成功的busybox文件,復(fù)制到手機(jī),telnet,并進(jìn)入
busybox所在目錄,輸入類似以下命令:
./busybox --help
./busybox lsmod
./busybox date
…
沒有任何問題。
我們telnet下輸入這個(gè)命令,在Busybox所在目錄建立testbox.lin文件
./busybox echo `pwd`/busybox date \> `pwd`/date.txt > testbox.lin
在E680g上用Loader關(guān)聯(lián)打開后,Busybox所在目錄下會(huì)生成包含當(dāng)前日期的
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- ARM技術(shù)架構(gòu)與應(yīng)用開發(fā)實(shí)踐指南2026/1/6 10:40:19
- 嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS)選型與移植技術(shù)指南2025/12/31 10:42:31
- 工業(yè)嵌入式系統(tǒng):通信接口技術(shù)選型與抗干擾設(shè)計(jì)實(shí)踐2025/12/15 14:36:53
- 深入解析嵌入式 OPENAMP 框架:開啟異核通信新時(shí)代2025/7/22 16:27:29
- 一文快速了解OPENWRT基礎(chǔ)知識(shí)2025/7/14 16:59:04
- 高速PCB信號(hào)完整性(SI)設(shè)計(jì)核心實(shí)操規(guī)范
- 鎖相環(huán)(PLL)中的環(huán)路濾波器:參數(shù)計(jì)算與穩(wěn)定性分析
- MOSFET反向恢復(fù)特性對(duì)系統(tǒng)的影響
- 電源IC在惡劣環(huán)境中的防護(hù)設(shè)計(jì)
- 連接器耐腐蝕性能測(cè)試方法
- PCB電磁兼容(EMC)設(shè)計(jì)與干擾抑制核心實(shí)操規(guī)范
- 用于相位噪聲測(cè)量的低通濾波器設(shè)計(jì)與本振凈化技術(shù)
- MOSFET在高頻開關(guān)中的EMI問題
- 電源IC在便攜式設(shè)備中的設(shè)計(jì)要點(diǎn)
- 連接器結(jié)構(gòu)設(shè)計(jì)常見問題分析









