参照里Linux目录建立文件系统目录。
解压源码进入目录配置编译器和编译架构:
CROSS_COMPILE ?= arm-linux-
ARCH = arm。
执行make menuconfig 进行配置
选择静态编译,
在Installation Options中选择安装路径(可以直接选择刚才建立到目录)。保存退出。
make
make install 生成文件。
进入建立好目录到etc目录执行:cp -rf ../../busybox-1.13.0/examples/bootfloppy/etc/* ./
复制部分配置文件,同时可以复制本机到passwd group shadow到当前目录。
修改inittab文件为:
::sysinit:/etc/init.d/rcS ::respawn:-/bin/sh hang_serial0::askfirst:-/bin/sh ::once:/usr/sbin/telnetd -l /bin/login ::ctrlaltdel:/bin/umount -a -r在dev目录下手工创建连个设备文件:
root@Jarvis dev]# mknod console c 5 1 [root@Jarvis dev]# ls console [root@Jarvis dev]# mknod null c 1 3 [root@Jarvis dev]# ll total 0 crw-r--r--. 1 root root 5, 1 May 5 19:51 console crw-r--r--. 1 root root 1, 3 May 5 19:51 null
修改etc/init.d/rc.S文件
#! /bin/sh PATH=/bin/:/sbin/:/usr/bin:/usr/sbin runlevel=S prevlevel=N umask 022 export PATH runlevel prevlevel /bin/mount -a mkdir /dev/pts mount -t devpts devpts /dev/pts echo /sbin/mdev > /proc/sys/kernel/hotplug mdev -s mkdir -p /var/lock /bin/hostname -F /etc/sysconfig/HOSTNAME
在etc目录下创建目录sysconfig进入目录添加文件HOSTNAME,内容为显示的名字。
修改profile文件内容为:
#Ash profile #vim:syntas=sh #No core files by default #ulimit -S -c 0 > /dev/null 2>&1 USER="`id -un`" LOGNAME=$USER PS1='[\u@\h \W]# ' PATH=$PATH HOSTNAM=`/bin/hostname` echo "Welcome home Sir" echo "Jarvis is OK!" export USER LOGNAME PS1 PATH
从交叉编译器中复制库文件:
[root@Jarvis lib]# cp -f /opt/EmbedSky/4.3.3/arm-none-linux-gnueabi/libc/armv4t/usr/lib/*.so* ./ -a
制作bin文件:
[root@Jarvis hakits]# mkyaffs2image my_root/ my_root.bin
//来自网络
[\u@\h \W]\# 怎么不能显示我想要的[root@6410 /etc]
原来是busybox不行,版本才是1.13,官网都1.20了。编译了最新的BUSYBOX,把所有的功能都加上,把可执行权限加上,然后拷贝到根文件系统中,重建新yaffs2,搞定!