您的位置:首页 > 运维架构 > Linux

qt在linux与ok6410上的安装移植(4)——插曲:ok6410与ubuntu的nfs共享

2014-05-05 16:03 351 查看
主系统:windows XP

virtualbox版本:4.3.8

guest系统:ubuntu12.04.4

开发板:ok6410a

qt安装好后,准备弄个小程序在开发板上跑一下,想到以后经常要拷贝程序什么的那么麻烦,我决定也跟上时代潮流使用nfs,于是今天早上折腾了一个早上。。。

一、首先要保证ubuntu12.04.4与板子上能ping通。。好吧,首先是用一根网线连上开发板以及主机连接的路由器,这点还是师弟教我的= = 由于台式机只有一个网口,只能连到路由器了,师弟用的是笔记本,用无线上网,就直接开发板和笔记本连上就好了!

二、为了试下网络,我顺便就先把主机上的xp与ubuntu试着ping了下,结果ubuntu可以ping这个xp,但是返过来就ping不通;咬牙切齿查了很多博客,什么防火墙开关,icmp禁用。。。等等,都设置了还是不行,最后打开virtualbox的设备选项,在network选项下更改网络设置,才知道自己是用的nat连接方式,然后给改成桥接就好了!!额,这两个有啥不同,什么原理我还没弄明白,只能下次有时间再看!

三、按照ok6410的linux手册,

1、在ubuntu终端输入命令建立共享文件夹:

mkdir /z/nfs

(手册中接下来有一步拷贝yaffs文件系统并解压,一开始没弄明白干啥用的,后来想可能是直接从nfs开机启动时用的把。。。)

2、配置nfs服务:这里趁ubuntu还连着网先将该下载安装的东西弄好

#sudo apt-get install portmap

#sudo apt-get install nfs-kernel-server

#sudo gedit /etc/exports

在弹出的文本编辑器中编辑exports 文件,在最后一行添加:

/z/nfs *(rw,sync,no_root_squash)

该配置的说明:

// /z/nfs 服务器端共享目录,可自定义,权限需设置为777

//
* 允许访问nfs服务器共享目录的ip范围,可自定义

//
rw客户机对共享目录权限

//
sync同步写入存储器,可选

//
no_root_squash允许客户机享有主机root身份,可选

//
括号中的三个参数之间不可有空格

//
/z/nfs与 *间有一个空格

3、设置主机IP:命令格式为:ifconfig eth0 IP地址 netmask 子网掩码 up

4、启动nfs服务:

#sudo /etc/init.d/portmap restart

#sudo /etc/init.d/nfs-kernel-server restart

使以上改动生效:exportfs –a

5、第5步我一开始按照手册在uboot命令行改变了参数,结果无法开机了!!直接在uboot增加参数的好处是以后每次开机不用重新设置。。不过既然我没成功,只好把参数删掉重开机,然后参考别人的方法:

mount –t nfs –o nolock 192.168.0.231:/z/nfs /mnt

成功
四、参考链接:http://duxiaolong5750.blog.163.com/blog/static/44856246201422921120354/
http://blog.sina.com.cn/s/blog_62d43bdb01011eep.html 第二个参考链接中说

发现用mount -t nfs -o nolock 192.168.1.136:/nfs /mnt 可以正常挂载,但是大一些的文件传输的时候会出现问题“nfs:server
is not responding,still trying”

网上查找得知“NFS 的默认传输协议是 UDP,而PC机与嵌入式系统通过UPD交互时就会出现严重的网卡丢包现象。”

命令修改为mount -t nfs -o tcp , nolock 192.168.1.136:/nfs /mnt 顺利搞定。文件传输也没有问题了。

但是我加了tcp后出错,无法mount。。还不知道原因。。心塞,要学的太多了

五、插曲中的插曲,开发板接上网线,打开终端后一直输出:

eth0: link up, 100Mbps, full-duplex, lpa 0x45E1

eth0: link down

eth0: link up, 100Mbps, full-duplex, lpa 0x45E1

eth0: link down

eth0: link up, 100Mbps, full-duplex, lpa 0x45E1

eth0: link down

eth0: link up, 100Mbps, full-duplex, lpa 0x45E1

……查原因,大家说网口有问题配置有问题啥的,我其实是可以ping通的,于是我就把两边的网线都拔了重插下,,结果就好了,看来有时候就是插拔问题。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: