在嵌入式的开发中NFS极大的方便了开发过程,它通过网络共享文件,避免了来回烧写开发板。
PC host上的nfs服务搭建请参考其他文章。http://blog.163.com/thinki_cao/blog/static/83944875201411610467306/
问题: 在DVS8168上面使用NFS挂载电脑上的开发目录时,发现使用mount -t nfs ....-o proto=tcp -o nolock时发现无法挂载。
终端提示错误:
NFS: server address does not match proto= option
mount: wrong fs type, bad option, bad superblock on 192.168.1.109:/home/guo/seed
8168/nfs,
missing codepage or helper program, or other error
(for several filesystems (e.g. nfs, cifs) you might
need a /sbin/mount.<type> helper program)
In some cases useful info is found in syslog - try
dmesg | tail or so
解决:然后就在mount前加了busybox命令就可以了。
busybox mount -t nfs 192.168.1.109:/home/guo/seed8168/nfs /mnt/ -o proto=tcp -o nolock
原因是,dm8168中的mount命令是个软链接,被连接到了:
一般使用busybox里的mount命令是可以的。
那么dm8168里的mount链接到哪里了呢
root@seed_dvs8168:~# which mount
/bin/mount
root@seed_dvs8168:~# ls -l /bin/mount
lrwxrwxrwx 1 47896 3355 19 Apr 10 09:48 /bin/mount -> mount.util
-linux-ng
root@seed_dvs8168:~# ls -l /bin/mount.util-linux-ng
-rwxr-xr-x 1 47896 3355 60140 Feb 27 2012 /bin/mount.util-linux-ng
可见mount命令默认是mount.util-linux-ng,而mount.util-linux-ng不支持nfs,导致无法挂载nfs。
BusyBox 是一个集成了一百多个最常用linux命令和工具的软件。BusyBox 包含了一些简单的工具,例如ls、cat和echo等等,还包含了一些更大、更复杂的工具,例grep、find、mount以及telnet。有些人将 BusyBox 称为 Linux 工具里的瑞士军刀。简单的说BusyBox就好像是个大工具箱,它集成压缩了 Linux 的许多工具和命令,也包含了 Android 系统的自带的shell。