轉(zhuǎn)帖自WEIKE的博客 http://my.oschina.net/u/130864/blog/32638
交叉編譯工具:arm-linux-gcc-3.4.1 (已經(jīng)導(dǎo)入到PATH環(huán)境變量中)
以下是具體步驟:
1.從busybox官方網(wǎng)站上下載busybox1.17.2
2.配置Busybox
2-1.修改Makefile文件
進入busybox目錄
將ARCH ?= $(SUBARCH) 修改為
ARCH ?= arm
將CROSS_COMPILE ?= 修改為
CROSS_COMPILE ?= arm-linux-
2-2,make menuconfig配置busybox選項,如下圖所示:
3.編譯前需要做的修改
3-1.在目錄busybox-1.17.2下修改networking/interface.c文件,加入宏定義:
#define ARPHRD_INFINIBAND 32
該修改是為了解決在編譯時出現(xiàn)的以下錯誤:
networking/interface.c:807: error: `ARPHRD_INFINIBAND' undeclared here (not in a function)
3-2.在目錄busybox-1.17.2下修改networking/libiproute/ipaddress.c文件,加入對IFLA_OPERSTATE的條件編譯,
如下圖所示:
該修改是為了解決以下錯誤:
networking/libiproute/ipaddress.c:167: error: `IFLA_OPERSTATE' undeclared (first use in this function)
3-3..在目錄busybox-1.17.2下修改networking/libiproute/iplink.c文件,加入對IFLA_LINKINFO的條件編譯,
如下圖所示:
該修改是為了解決以下錯誤:
networking/libiproute/iplink.c:...:error: `IFLA_LINKINFO' undeclared (first use in this function)
4.使用命令make install 命令進行編譯和安裝,完成后可在./_install目錄下找到我們需要的所有工具包
5. 現(xiàn)在開始制作文件系統(tǒng),首先創(chuàng)建主目錄rmdk,然后再rmdk目錄下創(chuàng)建以下子目錄:
bin sbin dev etc lib home root usr var proc mnt tmp sys
6.創(chuàng)建并編輯/etc/fstab文件,內(nèi)容可如下:
proc /proc proc defaults 0 0 (最后那個0用于標記是否進行修復(fù)自檢)
tmpfs /tmp tmpfs defaults 0 0
sysfs /sys sysfs defaults 0 0
tmpfs /dev tmpfs defaults 0 0
7.創(chuàng)建并編輯/etc/initab文件,內(nèi)容可如下(可根據(jù)自己需要編寫):
::sysinit:/etc/init.d/rcS
::askfirst:-/bin/sh
::ctrlaltdel:/sbin/reboot
::shutdown:/bin/umount -a -r
::once:/usr/etc/rc.local
8.創(chuàng)建并編輯/etc/init.d/rcS文件,內(nèi)容可如下:
mount -t tmpfs mdev /dev
mkdir /dev/pts
mount -t devpts devpts /dev/pts
mount -t sysfs sysfs /sys
mount -a
echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s
將rcS文件加上可執(zhí)行權(quán)限,使用命令: chmod 777 rcS
9.創(chuàng)建基本的設(shè)備節(jié)點:
#mknod /dev/console c 5 1
#mknod /dev/null c 1 3
#mknod /dev/mem c 1 1
10.將busybox-1.17.2/_install目錄下bin和sbin的文件拷貝到rmdk/bin和rmdk/sbin目錄中。
11.在rmdk目錄下創(chuàng)建指向rmdk/bin/busybox的符號鏈接linuxrc,命令如下:
#ln -s bin/busybox ./linuxrc
12.使用dd命令制作16M大小的ramdisk.img文件,具體命令是:聯(lián)系客服