确保系统的arm linux tools版本为2.95.3,然后按下述步骤编译:
1,tar zxvf busybox-1.00-pre10.tar.gz
cd busybox-1.00-pre10/
mkdir include/linux
cp /home/zhouyi198631/armlinux/linux/include/linux/version.h include/linux/
2,gedit scripts/config/mconf.c&
将static struct menu *current_menu;改成struct menu *current_menu;
3,make TARGET_ARCH=arm CROSS=arm-linux- PREFIX=/tmp/target menuconfig
选中Build Options/Build BusyBox as a static binary (no shared libs)
选中Build Options/Do you want to build BusyBox with a Cross Compiler?
设置Build Options/Cross Compiler prefix->arm-linux-
设置Build Options/Any extra CFLAGS options for the compiler?->-static
取消Networking Utilities/route
4,make TARGET_ARCH=arm CROSS=arm-linux- PREFIX=/tmp/target dep
make TARGET_ARCH=arm CROSS=arm-linux- PREFIX=/tmp/target all install
至此,在目录/tmp/target中将获取相关文件。可以按下列步骤创建文件系统的镜像文件:
1,mkdir rootfiles
dd if=/dev/zero of=initrd.img bs=2048k count=1
mke2fs -F -m0 initrd.img
mount -t ext2 -o loop initrd.img rootfiles/
cd rootfiles
cp -Rd ../target/* .
mkdir proc lib etc dev root home var tmp
chmod 777 tmp
cd dev
mknod -m 644 console c 5 1
mknod -m 644 null c 1 3
mknod -m 640 ram b 1 1
mknod -m 644 mem c 1 1
cd ..
2,gedit etc/fstab&
在此文件中添加以下内容:
none /proc proc defaults
3,gedit etc/inittab&
在此文件中添加以下内容:
::sysinit:/etc/init.d/rcS
::askfirst:-/bin/sh
::restart:/sbin/init
::ctrlaltdel:/sbin/reboot
::shutdown:/bin/umount -a -r
::shutdown:/sbin/swapoff -a
4,chmod 644 etc/inittab
mkdir etc/init.d
5,gedit etc/init.d/rcS&
在此文件中添加以下内容
#!/bin/sh
/bin/mount -t proc none /proc
/sbin/ifconfig lo 127.0.0.1 up
/sbin/ifconfig eth0 10.0.0.2 netmask 255.0.0.0 up
hostname skyeye
mkdir /var/tmp
mkdir /var/log
mkdir /var/run
mkdir /var/lock
/bin/ash
6,chmod 755 etc/init.d/rcS
cd ..
umount rootfiles
至此,文件系统镜像文件initrd.img制作完毕