全部博文(395)
分类: LINUX
2012-02-07 15:18:59
前言:在嵌入式开发中,一般都会使用nfs来进行挂载,由于板卡的资源比较紧张,所以板卡上会实现安装有nfs的客户端,所以在linux主机上就应该安装nfs服务端(也应该安装客户端,为了开发方便)。
首先在linux的终端上输入exportfs,如果发现有输出结果,则说明系统已经安抓过你了nfs,否则需要自己安装,
如果没有安装nfs的话,如果是ubuntu或者debian的话,使用sudo apt-get cache search nfs,可以查到有这两个包:nfs-common,nfs-kernel-server,使用sudo apt-get install nfs-common nfs-kernel-server来进行安装
如果是fedroa等redhat系列的linux的话,可以使用yum search nfs来搜索,搜到后使用yum install xxxx来进行安装。
确认安装后,可以进行如下操作:
1.修改/etc/exports文件
vi /etc/exports
/project/target
192.168.1.0/255.255.255.0(rw,no_root_squash,sync)
(或者这样: /project/target *(rw,sync),注意,其中*和‘(’之间没有空格,切记 )
也可以这样
/project/target *(rw,no_root_squash,sync)
这样,代表允许所有的进行挂载。
/project/target:是我要设置nfs挂载的更目录
192.168.1.0/255.255.255.0:表示我允许这一段的网络ip来访问
Rw:表示访问者有可读可写的权利
2./etc/init.d/portmap start(早起的redhat核中是这样的,后期的,比如我现在的fedora12中没有这个文件,所以这部在高级版本中可以忽略)
不知道能不能执行成功,如果不能的话,可能就设置不成了。
3.开启nfs
service nfs restart
4.试着在本机上挂接
mount 192.168.1.64:/project/target /mnt
如果成功了,就离最后的成功仅离一步之遥
5.你可以在开发板启动的时候挂接一下试试:前提,开发板支持nfs
mount -o nolock 192.168.1.64:/project/target /mnt/nfs
-o nolock:这个参数一定要加上。/mnt/nfs是挂接到开发板的目录,如果没有的话,最好设个。
6.如果提示mount: RPC: Unable to receive; errno = No route to host
说明iptables,也就是防火墙开着的,需要关闭
/etc/init.d/iptables stop
7.后面在执行第5布就可以了。
出现问题的解决办法:如果出现问题,一直挂在不上的话,可以用这个命令:exportfs -rv,会有提示的。