教你如何編譯busybox
出處:互聯(lián)網(wǎng) 發(fā)布于:2011-09-04 13:07:08
1,busybox簡介
busybox是一個集成了一百多個常用linux命令和工具的軟件,他甚至還集成了一個http服務(wù)器和一個telnet服務(wù)器,而所有這一切功能卻只有區(qū)區(qū)1M左右的大小。我們平時用的那些linux命令就好比是分力式的電子元件,而busybox就好比是一個集成電路,把常用的工具和命令集成壓縮在一個可執(zhí)行文件里,功能基本不變,而大小卻小很多倍,在嵌入式linux應(yīng)用中,busybox有非常廣的應(yīng)用,另外,大多數(shù)linux發(fā)行版的安裝程序中都有busybox的身影,安裝linux的時候案ctrl alt F2就能得到一個控制臺,而這個控制臺中的所有命令都是指向busybox的鏈接。
Busybox的小身材大作用的特性,給制作一張軟盤的linux帶來了及大方便。
2如何編譯busybox
1.在Linux解壓縮,或者在Windows下解壓縮復(fù)制到Linux里面
tar xcvf busybox-0.60.5.tar.gz
2.cd busybox 進入目錄,查看Makefile文件,實在比較復(fù)雜,不過確是了解源代碼
結(jié)構(gòu)的方法!對這個文件作如下兩處修改。
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)容,一定要保證是你
自己機器上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,如有錯誤,多半是上面所述Makefile文件的問題,
修改后先執(zhí)行make clean再執(zhí)行make all。
成功之后,會顯示:
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ù)制到手機,telnet,并進入
busybox所在目錄,輸入類似以下命令:
./busybox --help
./busybox lsmod
./busybox date
…
沒有任何問題。
我們telnet下輸入這個命令,在Busybox所在目錄建立testbox.lin文件
./busybox echo `pwd`/busybox date \> `pwd`/date.txt > testbox.lin
在E680g上用Loader關(guān)聯(lián)打開后,Busybox所在目錄下會生成包含當(dāng)前日期的
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- ARM技術(shù)架構(gòu)與應(yīng)用開發(fā)實踐指南2026/1/6 10:40:19
- 嵌入式實時操作系統(tǒng)(RTOS)選型與移植技術(shù)指南2025/12/31 10:42:31
- 工業(yè)嵌入式系統(tǒng):通信接口技術(shù)選型與抗干擾設(shè)計實踐2025/12/15 14:36:53
- 深入解析嵌入式 OPENAMP 框架:開啟異核通信新時代2025/7/22 16:27:29
- 一文快速了解OPENWRT基礎(chǔ)知識2025/7/14 16:59:04









