在6410上挂载NFS服务器

来源:互联网 发布:黑帽seo 流量劫持 编辑:程序博客网 时间:2024/06/05 03:39

 在6410上挂载NFS服务器

硬件平台:OK6410 虚拟机操作系统:ubuntu
Step1:pc端安装nfs服务器 在Ubuntu 上新建一个终端,依次输入以下命令:
apt-get install nfs-kernel-server
apt-get install portmap
*先查看有没有安装nfs-utils的安装包,命令:#rpm -q nfs-utils
如果没有安装包,需要挂载linux的安装包

接着 #mount /dev/cdrpm /mnt/ 将安装包挂载到/mnt的目录下
安装命令:#rpm -ivh nfs-utils-1.0.9-24.el5.i386.rpm

Step2:ip配置

1.命令格式为:ifconfig eth1 IP地址 netmask 子网掩码 up ;

2.虚拟机需要改为桥接模式:


3.Vmnet和本地网卡的ip可以不用设置,只设置虚拟机的和开发板的,保证两者能ping通即可。如本例设施主机ip:192.168.2.1/24 开发板ip:192.168.2.10/24
(查看虚拟机的ip:在终端输入ifconfig命令;查看开发板的ip:把开发板和网线、串口线和电源接起来,打开DNW
,同样输入ifconfig,可以查看开发板的ip)

//保持虚拟机、宿主机与开发板的IP在同一网段,并且能够ping通。(重要)
                                                                    (*VMnet1的IP不能和虚拟机的IP一样,但要在同一个网段)

*如果是有多张网卡的,要在虚拟机的“Edit-Virtual Network Editor”那里设置,把桥接那里的选项选择为当前使用的网卡(如果只有一张网卡就不用设置,默认为Automatic),否则会出现本地电脑能和虚拟机ping通,但虚拟机也无法和本地电脑ping通的情况


4.Windows杀软与防火墙需关掉,不然会出现mount之后长时间没反应
关闭虚拟机的防火墙:ufw disable。


Step3: pc端配置

1.修改/etc/exports,在末尾添加:/home 192.168.0.*(rw,sync,no_root_squash)




//共享目录是Linux下的home文件夹(可自定义)
// 192.168.0.* 允许访问nfs服务器共享目录的ip范围,可自定义
// rw客户机对共享目录权限
// sync同步写入存储器,可选
// no_root_squash允许客户机享有主机root身份,可选
// 括号中的三个参数之间不可有空格
// /root/nfs与 192.168.2.*间有一个空格
2.重启nfs服务:service nfs-kernel-server restart
service portmap restart
**注:

service nfs-kernel-server restart——重启NFS服务

service nfs-kernel-server start——启动NFS服务

service nfs-kernel-server stop——停止NFS服务

redhat下为nfs;ubuntu下为nfs-kernel-server;不加restart、start或stop会出现* Usage: nfs-kernel-server {start|stop|status|reload|force-reload|restart}这样的错误提示。

*检查服务是否已经运行:
#service portmap status
#service nfs-kernel-server status
3.使以上改动生效:exportfs –a

exportfs
-a:全部挂载(或卸载和-u连用时)/etc/exports文件内的设置
-r
重新挂载/etc/exports里面的设置,此外,亦同步更新/etc/exports/var/lib/nfs/xtab的内容
-u:卸载某一目录
-v
:在export的时候,将分享的目录显示到屏幕上

exportfs -arv重新挂载一次 /etc/exports的设置
exportfs –auv全部卸载



Step4:开发板挂载

在DNW上输入mount -t nfs -o olock 192.168.0.1:/home /temp
(*192.168.0.1是虚拟机的IP,home是虚拟机系统下要共享的文件,temp是开发板上存放共享文件的文件夹)

命令执行成功后,开发板的/temp目录就和Linux宿主机的 /home 目录建立了共享关系,在超级终端或DNW中执行 ls -al /temp ,可以看到宿主机/home 文件目录下的所有内容。另外可以在PC Linux上编译应用程序,放到PC机的/home目录,在超级终端或DNW 中执行cd /temp 命令进入到temp目录下面,执行应用程序,这样会加快开发


Tips:
如果不成功主要考虑:
1.共享目录权限;
2.Ip设置;
3.防火墙与杀软;

4.是否重复挂载;
5.虚拟机与windows间的共享目录不能被挂载;
6.有些情况下挂载命令不加“-o nolock”会报错。



首先挂载前,请仔细检查以下硬件设备是否都连接好:
1、电源线插上;
2、串口线连接好开发板COM0和PC机;
3、USB电缆连接开发板和PC机;
4、网线插上。
如果网线没接上,就会出现这样的问题
rpcbind: server x.x.x.x not responding, timed out
Root-NFS: Unable to get mountd port number from server, using default
Root-NFS: Server returned error -5 while mounting /home/glorin/sharetmp/filesys
针对这种问题,有两个地方要注意,除了上面的网线没有插上外,另外的就是主机IP(我的是虚拟机中的
Ubuntu的IP)和开发板的IP不在同一
个网段内。
解决方法
1.改主机IP;
先在DNW查看开发板的IP,接着把主机和虚拟机的IP网段设置和开发板的一样。
开始->控制面板->网络和共享中心->

点击本地连接->属性->点击TCP/IPv4,把IP设置在同一个网段
对于VMware Network Adapter VMnet1的IP也设置在和主机同样的网段,操作一样。

2.改开发板IP
那么怎么才知道开发板IP?


正确的查看你开发板上的IP地址是在设置uboot启动参数后利用printenv,在显示你的设置uboot参数之前,前面几行会有显示
ipaddress=x.x.x.x
serverip=x.x.x.x
......
这其中的ipaddress才是你开发板上真正的ip地址,即便你在setenv中改了,也是没有改过来!你会发现这两个ip是在同一个网段的。
好,这就是你要设置的两个ip。既然如此,那就更改ip吧。(已经改好的不用改)
更改主机IP方法:
$ sudo vim etc/network/interfaces
然后设置:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.1.20(参考,请写刚才与ipaddress同一网段内,或者干脆写serverip中的IP)
netmask 255.255.255.0
gateway 192.168.1.1(参考,这个应该知道该怎么设置吧)

修改后重启网络配置:
sudo /etc/init.d/networking restart
完了保证设置完全正确,对于使用ubuntu系统的人,请修改/etc/NetworkManager/nm-system-settings.conf
[main]
plugins=ifupdown,keyfile
[ifupdown]
managed=false
将managed=ture改为false。

然后执行sudo /etc/init.d/network-manager restart,重新配置一下。(对于DNS,设置的话:sudo /etc/resolv.conf即可)
至此主机IP地址设置完成。
或者你不想修改主机IP,说我还想上网的。这个关系也不大,成功挂载及烧写文件系统成功后再改回去就是了。
好吧,那就改开发板上的IP,这个你的先能够进入开发板环境

 

 
原创粉丝点击