经验总结:说起来真够郁闷,这么点东西,竟然让我费了好几个晚上的时间,不过也好!在修改错误中可以学到很多东西!(1)、对待错误,不要着急,急切的心理,往往容易因为碰壁而影响人的心情,静下心来,慢慢找是解决问题的良策;(2)、一定要学会利用网络,一个问题一个问题的解决;(3)、对于网上提供的解决办法一定要仔细看,不要断章取义,这样往往会使问题更加严重!(4)、对于初学者一定要按别人成功的步骤来,不要自己按照自己的想法修改!我这次错误就处在这方面!(5)个人认为在安装系统的时候就应该将相应的服务给装上,这对于一个刚接触linux的人很有必要,可以省去许多麻烦!降低自己的学习难度,不然成功路上将会有很多龙潭虎穴!呵呵!
一、NFS服务器的配置:(1)、假设nfs服务在装系统已经都装上了(如果没有装上可以上网查查,使用yum工具,很容易搞定的)设置网卡的IP和子网掩码,这里注意IP和子网掩码一定要和开发板上的IP在同一个网段,不然会在以后mount时出现网络不可达错误。方法:system->manegement-->network会出现设置对话框,点击与开发板相连网卡,设置相应的IP和子网掩码。(2)、关闭防火墙可以使用命令也可以使用从系统菜单中选择防火墙设置:这里使用命令,现在发现使用命令有时真比图像界面方便,具体命令:iptables -F
ip6tables -F
(3)、启动nfs服务,设置共享目录:system--->server setting ----->nfs,会弹出nfs配置对话框,点击添加按钮,添加共享目录以及允许访问的IP(一般设置一个网段如:192.168.*.*),还有访问权限。然后进行测试,mount 210.44.156.35:/zylinux /mnt 如果测试没有成功,使用下面命令:
service nfs start
service rpcbind start
来启动nfs服务,很多人会出现mount.nfs:access denied by server等错误,时间长了现在也忘记怎么解决了(很好的习惯是解决一个问题记下一个问题的解决办法),不过可以上网搜搜,可以搞定!setsebool -P nfs_export_all_ro=1
(4)、在开发板上测试,启动开发板后,使ifconfig检查开发板的IP地址是否于自己的IP在同一个网段
,使用ping命令测试网络联通情况,可能出现的问题:1)、网络不可达问题,这是有可能是开发板的网络与自己不再同一个网段或者网路没有连接好(可以看网卡上的灯是否闪烁),另一种可能是使用双网卡时,两个网卡的IP地址于开发板的网卡的IP地址在同一个网段,而ping时总是用那个没有与开发板相连的网卡的IP地址,这种现象是由于IP地址的优先级的问题,可以将两个IP的地址分配在不同的网段来解决,也可以先暂时禁用另一个网卡;(5)、使用mount 主机上的目录到开发板上,使用minicom来控制,在开发板里输入mount命令如:mount -t nfs 192.168.0.232:/zylinux /mnt -o nolock 测试手否成功,如果成功,命令行直接转到下一行,如果没有成功,可能有以下几种错误:1)
mount: RPC: Unable to receive; errno = No route to host
mount: nfsmount failed: Bad file descriptor
NFS: mount program didn't pass remote address!
mount: Mounting 192.168.0.232:/zylinux on /mnt failed: Invalid argument
原因:1)网上有说是使用nfs服务的网卡,必须是一个网卡对应一个IP地址,因此使用开发板默认的IP
比较好;
2)主机IP和开发板IP没有在同一个网段,检查主机和开发板IP是否在同一个网段;
NFS服务器连接超时的解决办法:使用以下方法mount,可以避免:
mount -t nfs -o nolock,rsize=1024,wsize=1024,timeo=15 192.168.0.232:/zylinux /mnt
综上所述:
宿主机命令:
service network start
service nfs start
iptables -F
ip6tables -F
在ARM上的命令:
mount -t -nfs -o nolock,rsize=1024,wsize=1024,timeo=15 192.168.0.232:/zylinux /mnt