在ARM板(友善之臂mini2440)中通过NFS共享传输文件时出现了下面的错误提示:
nfs:server ***(主机IP) is not responding,still trying |
当下我就郁闷了,怎么换了一台机器问题就这么多了呢。之前使用台式机时,主系统是ubuntu 8.04 i386,在使用NFS共享传输文件或者开发板直接以NFS方式启动都没有问题,换用笔记本后,主系统是ubuntu 9.10 amd64位,并且也按照友善公司官方网站升级了mini2440的suppervivi(开发板的BIOS)以及linux内核等相关的。现在可好,不但不可以以NFS方式启动开发板,而且连NFS方式传输文件都出现了问题。当然了,遇到问题就“放狗”搜索,哈哈,原来解决的方案早就有了,而且还很多,下面是我参考的文章,也就把这解决方法记录下来吧。
问题的原因分析:1、NFS 的默认传输协议是 UDP,而PC机与嵌入式系统通过UPD交互时就会出现严重的网卡丢包现象;2、server机和目标机网卡传输速率冲突,使得目标机需要大量时间复制大量数据包,其实如果目标机的网卡速率够大,则不用分那么多包,也不会冲突。
问题的解决方案:
方法一:在客户端改用TCP协议,使用下面的命令,
#mount -o tcp,nolock host:/path/to/export /client/to/mount |
方法二:指定传输速率(限定传输时一次读写的数据大小)
#mount -t nfs -o intr,nolock,rsize=1024,wsize=1024 host:/path/to/export /client/to/mount |
具体的原因分析可以使用man nfs命令查看。
不过在我的实验中,问题并没有到此为止,在复制主机共享文件到目标板时出现了如下的提示:
**>> yaffs chunk 120064 was not erased **>> yaffs write required 2 attempts |
这个应该是yaffs文件系统的问题了,不过似乎并不影响我继续实验,也就暂时懒得再查这个问题的解决方案。
阅读(3259) | 评论(0) | 转发(0) |