wget http://www.busybox.net/downloads/busybox-1.20.2.tar.bz2
make defconfig
make CROSS_COMPILE=arm-linux-gnueabi-
make install
編譯完install後會默認安裝在busybox源碼目錄下_install目錄內,但是此文件系統並不完整,只有四個目錄
root-># ls
bin linuxrc sbin usr
雖然可以直接用這個簡易的文件系統啟動內核,但是功能在以後的使用過程中會很受限制。
::sysinit:/etc/init.d/rcS
ttySAC0::askfirst:-/bin/sh
::ctrlaltdel:/sbin/reboot
::shutdown:/bin/umount -a -r
格式:<id>:<runlevels>:<action>:<process>例如上邊
id:表示輸出的終端,省略的話表示輸出到init終端
runlevels:運行等級,busybox中沒有意義,省略
action:如下
process:要執行的程序,“-”開頭表示這個程序是交互的。
#!/bin/sh
ifconfig eth0 192.168.1.222
mount -a #這個命令會自動讀取/etc/fstab文件並按要求掛載制定的文件系統
mkdir /dev/pts
mount -t devpts devpts /dev/pts //用來支持外部網連接(telnet)
echo /sbin/mdev > /proc/sys/kernel/hotplug #最後的兩行是為了mdev能夠以守護進程的形式運行,當驅動程序插入內核的時候能夠自動創建設備文件節點。
mdev -s
此外還要修改此文件的權限,使它能夠運行。
#device mount-point type options dump fsck order
proc /proc proc defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
sysfs /sys sysfs defaults 0 0 //mdev需要
tmpfs /dev tmpfs defaults 0 0 //mdev需要
這裡把/dev目錄掛載上tmpfs文件系統,是為了mdev(pc機上是udev)程序能夠動態的創建刪除設備文件。
oprions的參數如下,當同時滿足多個時,用逗號分隔
dump是一個用來備份文件的程序,fsck是一個用來檢查磁盤的程序
dump根據dump字段的值決定是否需要備份此文件系統,如果沒有這個字段或者這個字段為0,則dump忽略此文件系統
fsck程序根據fsck order字段決定檢查磁盤的順序,一般將根文件系統設置為1,其他文件系統設置為2,如果為0,則fsck程序忽略這個文件系統。
先解析/etc/inittab文件,然後執行/etc/init.d/rcS腳本,並根據/etc/fatab文件掛載其他文件系統。
mkdir -p lib lib/modules dev proc tmp sys