由于busybox编译后生成的工具里面没有找到mkfs.ext3和mkfs.ext4,在busybox源码目录下有e2fsprogs/old_e2fsprogs目录,不知道该目录下是否能支持,暂未测试,而是使用e2fsprogs源码包(http://e2fsprogs.sourceforge.net/)来生成相应的工具。
首先,从http://sourceforge.net/projects/e2fsprogs/下载e2fsprogs源码包,解压源码包后进入到解压的目录,执行./configure CC=arm-linux-gcc--enable-elf-shlibs --host=arm --prefix=release/,配置后生成Makefile文件,接下来执行make和make install,会在当前软件源码包目录下有release目录,里面有我们生成的工具文件,包含bin、etc、sbin、lib、share这几个目录,我们需要mkfs.ext3和mkfs.ext4工具,故只需把sbin和lib目录复制到根文件系统里,再生成根文件系统镜像文件,进行烧写后即可使用,在使用mkfs.ext3和mkfs.ext4工具时,会提示ext2fs_check_if_mount: Can't check if filesystem is mounted due to missing mtab file while determining whether /dev/sda is mounted.最后,我们在/etc目录下创建mtab文件(空文件)即可解决该问题。