root:# mount -t vfat /dev/sda1 tmp/
mount: mounting /dev/sda1 on tmp/ failed: No such device

但是该设备存在啊...换了个ntfs格式的u盘,

root:# ntfs-3g -o force /dev/sda1 tmp/
insmod: cannot insert '/fs/fuse/fuse.ko': Cannot allocate memory
modprobe: failed to load module fuse
NTFS signature is missing.
Failed to mount '/dev/sda1': Invalid argument
The device '/dev/sda1' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?
root:#

应该是modprobe找不到/fs/fuse/fuse.ko, 在命令行单独试该命令:

root:# modprobe fuse
insmod: cannot insert '/fs/fuse/fuse.ko': Cannot allocate memory
modprobe: failed to load module fuse

接下来,到busybox中找到modprobe对应的源代码,分析,调试:

( Note: busybox编译方法
prjmake control sub=buildroot.busybox.clean
prjmake control sub=buildroot.busybox.make
)

原来它依赖于下面的文件查找模块路径及其依赖关系。

/lib/modules/2.6.24.7_nxp.STBmico_NANDflash_HDdecoding.dev/modules.dep

打开该文件发现,路径不完整。

该文件的生成,查找发现,源于$linuxsrc/Makefile中,产生下面的调用:

depmod -ae -F System.map -b /home/qianjiang/pls/mico/dvb-t/stb225/build_STBmico_NANDflash_HDdecoding/rootfs -r 2.6.24.7_nxp.STBmico_NANDflash_HDdecoding.dev

该问题在Fedora 8上没有,最后发现和我在用的Ubuntu 里面的module-init-tools版本不一致。把Fedora中的depmod拷贝至我的电脑使用OK!