Bootstrap

linux服务器挂载不上nfs,我遇上的挂载不上NFS文件系统的坑

主机平台:window7 vmware9.0 linux系统

开发板平台: mini2440

使用的根文件系统 :友善之臂的 rootfs_qtopia_qt4

使用的linux kernel : 友善之臂的 linux-2.6.32.2

前提:

我已经成功启动了linux系统下的NFS服务,使用开发板挂载成功了,使用WINDOW7系统也挂载成功了。

但是

在开发板上启动,使用linux主机上的根文件系统时,老是挂载不上,折腾了两天终于找到一个办法可以挂载上!

setenv bootargs root=/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:sbc2440.arm9.net:eth0:off

这是我最初设置的启动参数,无论怎么修改都无法挂载根文件系统

后面在一篇博客上看到一个办法将启动参数修改为如下

setenv bootargs root=/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:sbc2440.arm9.net:eth0:off

原因:NFS的默认传输协议是UDP,而PC机与嵌入式系统通过UPD交互时就会出现严重的网卡丢包现象(这个也只是暂时的分析)!貌似好多人都说是网卡移植出现的问题!具体我也就不知道了,反正写上这个,然后就没有问题了!

上面这段话是该大神给出的解释

我觉得需要加上后面三个参数的原因和友善之臂给出的这个linux内核有很大的关系,获取换一个内核就不需要这样的参数了,网络上大部分参考资料都不涉及到该参数,我还看到有些博客上说去掉这三个参数才能挂载,所以在这里先MARK以下。

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;