
选中Busybox Settings,进入到Busybox Settings界面。 接着进入Build Optiions-> Cross Compiler prefix配置界面,它是指定用什么编译器来编译,输入使用的交叉编译工具“arm-none-linux-gnueabi-”。 然后回到Busybox Settings设置界面,进入Installation Options配置界面,选中BusyBox installation prefix,然后进入BusyBox installation prefix配置界面(这个界面是设置编译完Busybox,把最终生成的二进制文件安装到哪个目录下面)。 删除里面默认的./_install,然后输入“../system”(最终生成的二进制文件会安装到当前目录的上一级目录下的system目录里面)。 退出menuconfig配置界面,保存配置。 3. 编译和安装 Busybox的配置已经完成了,接下来编译Busybox,在Ubuntu的终端输入make命令开始编译Busybox。 编译完成之后,需要把编译生成的二进制文件安装到刚才指定的../system目录里面,使用命令“make install”安装二进制文件到“../system”目录。打开“../system”目录,可以看到安装的文件,如下图所示。

echo -n Try to bring eth0 interface up......>/dev/ttySAC2
if [ -f /etc/eth0-setting ] ; then source /etc/eth0-setting
if grep -q "^/dev/root / nfs " /etc/mtab ; then echo -n NFS root ... > /dev/ttySAC2 else ifconfig eth0 down ifconfig eth0 hw ether $MAC ifconfig eth0 $IP netmask $Mask up route add default gw $Gateway fi
echo nameserver $DNS > /etc/resolv.conf else
if grep -q "^/dev/root / nfs " /etc/mtab ; then echo -n NFS root ... > /dev/ttySAC2 else /sbin/ifconfig eth0 192.168.253.12 netmask 255.255.255.0 up fi fi
echo Done > /dev/ttySAC2 然后在init.d文件夹下建立rcS文件,在rcS文件输入下面的内容,保存并退出rcS,修改rcS的权限为755。 #! /bin/sh PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin: runlevel=S prevlevel=N umask 022 export PATH runlevel prevlevel
# # Trap CTRL-C &c only in this shell so we can interrupt subprocesses. # trap ":" INT QUIT TSTP /bin/hostname iTOP-4412
#/bin/mount -n -t proc none /proc #/bin/mount -n -t sysfs none /sys #/bin/mount -n -t usbfs none /proc/bus/usb #/bin/mount -t ramfs none /dev [ -e /proc/1 ] || /bin/mount -n -t proc none /proc [ -e /sys/class ] || /bin/mount -n -t sysfs none /sys [ -e /dev/tty ] || /bin/mount -t ramfs none /dev
echo /sbin/mdev > /proc/sys/kernel/hotplug /sbin/mdev -s #/bin/hotplug # mounting file system specified in /etc/fstab mkdir -p /dev/pts mkdir -p /dev/shm /bin/mount -n -t devpts none /dev/pts -o mode=0622 /bin/mount -n -t tmpfs tmpfs /dev/shm #/bin/mount -n -t ramfs none /tmp #/bin/mount -n -t ramfs none /var mkdir -p /var/empty mkdir -p /var/log mkdir -p /var/log/boa mkdir -p /var/lock mkdir -p /var/run mkdir -p /var/tmp
ln -sf /dev/ttyS2 /dev/tty2 ln -sf /dev/ttyS2 /dev/tty3 ln -sf /dev/ttyS2 /dev/tty4
syslogd /etc/rc.d/init.d/netd start echo " " > /dev/tty1 echo "Starting networking..." > /dev/tty1 #sleep 1 #/etc/rc.d/init.d/httpd start #echo " " > /dev/tty1 #echo "Starting web server..." > /dev/tty1 #sleep 1 #/etc/rc.d/init.d/leds start #echo " " > /dev/tty1 #echo "Starting leds service..." > /dev/tty1 #echo " " #sleep 1
#echo "*************************************" > /dev/ttySAC2 #echo " http://www.topeet.com.cn " > /dev/ttySAC2 #echo "*************************************" > /dev/ttySAC2 #echo "*************************************" #echo " http://www.topeet.com.cn " #echo "*************************************"
mkdir /mnt/disk
sleep 1 /sbin/ifconfig lo 127.0.0.1 /etc/init.d/ifconfig-eth0 返回到init.d的上一级目录etc,接下来在etc目录下建立文件passwd,如下图所示,保存并退出,修改passwd的权限为755。 root::0:0:root:/:/bin/sh bin:*:1:1:bin:/bin: daemon:*:2:2:daemon:/sbin: nobody:*:99:99:Nobody:/: 然后在etc目录建立profile文件,在profile输入下面的内容,保存并退出,修改profile的权限为755。 # Ash profile # vim: syntax=sh
# No core files by default ulimit -S -c 0 > /dev/null 2>&1
USER="`id -un`" LOGNAME=$USER PS1='[$USER@$HOSTNAME]# ' PATH=$PATH
HOSTNAME=`/bin/hostname`
export USER LOGNAME PS1 PATH 接下来在etc目录建立文件夹rc.d,进入到刚才建立的rc.d文件夹。在rc.d目录下建立init.d文件夹,进入到建立的init.d文件夹。接着在init.d文件夹,建立netd文件,在netd文件里面输入下面的内容。保存并退出netd,修改netd的权限为755。 #!/bin/sh
base=inetd
# See how we were called. case "$1" in start) /usr/sbin/$base ;; stop) pid=`/bin/pidof $base` if [ -n "$pid" ]; then kill -9 $pid fi ;; esac
exit 0 进入system/lib目录。因为使用的交叉编译环境和编译内核的相同,所以编译器是/usr/local/arm/arm-2009q3,Busybox编译生成的二进制文件十一动态链接库的形式运行,所以需要拷贝编译器里面的库文件到lib目录,使用命令 “cp /usr/local/arm/arm-2009q3/arm-none-linux-gnueabi/libc/lib/* ./”拷贝。 库文件拷贝完成后,返回到system/var目录,在var目录下建立lib,lock,log,run,tmp五个目录。至此,文件系统所需要的文件都已经创建好了。 5. 安装打包软件和编译 打包工具make_ext4fs可以文件系统制作成二进制文件,先来安装一下make_ext4fs工具。 拷贝压缩包“linux_tools.tgz”到Ubuntu 系统的“/”目录下然后解压,注意目录是“/”,如果前面在编译QtE的时候已经解压过了,这里可以跳过去。安装好打包编译工具“make_ext4fs”之后。 使用命令进入目录“/home/minilinux/”,使用命令 “make_ext4fs -s -l 314572800 -a root -L linux system.img system”生成system.img文件系统镜像,如下图所示。

现在已经完成了Linux文件系统的制作。
详情了解:http://topeetboard.com 更多了解:https://arm-board.taobao.com