关于nfs的一些心得

配置nfs,其实这个和以前不太一样,以前是在uboot命令行进行的一些操作,那是对参数的一些设置,设置好之后,保存所设置的那些信息,再reset一下就可以自动挂载了,大部分的东西都忘了不少,主要是将开发板上跑得那个文件系统挂载到linux下,下面我就主要讲一下如何快速的设置,主要是提供一个思路,当然,过程中可能也会引用一下网上的一些资料:
1.安装nfs服务(已经安装过的可以跳过)
sudo apt-get install nfs-kernel-server
2.配置共享的目录(这个是交互式的,这样感觉)
修改配置文件 /etc/exports
sudo vi /etc/exports
添加一行代码,其格式如下:(为方便,举一个例子说明)
/home/linux/share *(rw,sync,no_root_squash)
参数说明:
/home/linux/share 共享目录,这个就是把家目录下的一个名为share的目录设置为共享了,相当于是给share这个目录增加了一个属性,至于为什么设置一个共享目录,接下来会有涉及。
*(rw,sync,no_root_squash)这个参数介绍如下:(如果只是为了使用nfs,就不用深究)
*        -- 表示允许任意用户使用,也可以使用具体IP;
rw   -- rw,挂载此目录的客户机对此目录有读写权利;
sync,……;
no_root_squash,挂载此目录的客户机享有主机root的权利;
保存并退出
启动nfs服务:sudo /etc/init.d/nfs-kernel-server start
如果刚才设置没有问题,就进入下一步
3.设置开发板
首先要明确是否支持nfs-client,这个是在编译内核的时候的一个选项,一般默认都已经(*),因此,就不用担心了
在设置nfs之前,首先看一下开发板是否可以和你的虚拟机进行通信,互相ping一下,首先设置好同一网段,开发板那部分的话,如果说内核已经启动,进入了文件系统里,此时,可以按照如下方式进行操作:
ifconfig
看一下开发板的ip地址是否和虚拟机在同一网段,如果不是,改过来
ifconfig eth0 xxx.xxx.xxx.xxx
ping yyy.yyy.yyy.yyy(虚拟机)
正常就继续

进行挂载:
mount -t nfs -o intr,nolock,rsize=1024,wsize=1024 192.168.0.121:/home/linux/share /home/root

/home/linux/share 这个就是刚才那个目录,应用就在这里
/home/root  这个也是自己随意定,这个是板子的一个目录,可以更改的
执行完之后的效果是,将那个有共享权限属性的虚拟机里的目录,挂载到了开发板的一个目录下,二者之间是可以实时进行通信的,这样的话就达到了原有的目的,实现二者间的数据通信,这样的话就不用再每次都借助于sd卡等工具进行间接通信了
至于前面的那些参数,没有去分析,如果有非常了解的,希望大家指点一下

个人的一些体会:
其实就是两台电脑间的通信,以前总以为它们是上下级的关系,其实,是在同一水平线上的,互相进行挂载,目的:实现二者间的通信。

一些可能遇到的问题:
ping 的时候没有收到数据包
可能的原因:把你的网络禁用,之后再试一次,看看是否可行。(我就遇到这种问题了,很头疼),但是如果按照那样操作,每次连上开发板的时候,就没法上网了,这样的话,就可以设置一下网络,宽带连接,ipv4,属性,设置成固定的ip,和开发板在同一网段,之后,就可以用无线上网了,但是具体内部什么原因导致,ip冲突等情况,我就没分析了,还是希望了解的人给予写指导,在此先谢过了。。。


最近在了解ps2驱动的编程,如果各位有什么资料的话,可以共同交流一下。。。

你可能感兴趣的:(nfs心得)