主机平台:window7vmware9.0 linux系统
开发板平台: mini2440
使用的根文件系统 :友善之臂的 rootfs_qtopia_qt4
使用的linux kernel : 友善之臂的 linux-2.6.32.2
前提:
我已经成功启动了linux系统下的NFS服务,使用开发板挂载成功了,使用WINDOW7系统也挂载成功了。
但是
在开发板上启动,使用linux主机上的根文件系统时,老是挂载不上,折腾了两天终于找到一个办法可以挂载上!
setenv bootargsroot=/dev/nfs rw nfsroot=192.168.3.251:/myrootfs/rootfs_qtopia_qt4
console=ttySAC0,115200
ip=192.168.3.250:192.168.3.251:192.168.3.1:255.255.255.0::eth0:off
这是我最初设置的启动参数,无论怎么修改都无法挂载根文件系统
后面在一篇博客上看到一个办法将启动参数修改为如下
setenv bootargsroot=/dev/nfs rw
nfsroot=192.168.3.251:/myrootfs/rootfs_qtopia_qt4,proto=tcp,nfsvers=3,nolock console=ttySAC0,115200
ip=192.168.3.250:192.168.3.251:192.168.3.1:255.255.255.0::eth0:off
原因:NFS的默认传输协议是UDP,而PC机与嵌入式系统通过UPD交互时就会出现严重的网卡丢包现象(这个也只是暂时的分析)!貌似好多人都说是网卡移植出现的问题!具体我也就不知道了,反正写上这个,然后就没有问题了!
上面这段话是该大神给出的解释
我觉得需要加上后面三个参数的原因和友善之臂给出的这个linux内核有很大的关系,获取换一个内核就不需要这样的参数了,网络上大部分参考资料都不涉及到该参数,我还看到有些博客上说去掉这三个参数才能挂载,所以在这里先MARK以下。
如果觉得《linux服务器挂载不上nfs 我遇上的挂载不上NFS文件系统的坑》对你有帮助,请点赞、收藏,并留下你的观点哦!