在arm开发的过程中,要将Linux下开发的程序传输到arm中,试了一下串口,没搞通,听同时说nfs,就google了一下,下面记录一下使用过程。


1.  安装 NFS 相关组件



sudo apt-get install nfs-kernel-server



安装完nfs服务器之后,我们需要建立一个与下位机挂接的共享文件夹。

2.  建立NFS共享文件夹



sudo mkdir -R /mnt/nfs



3.设置共享目录
修改主机 /etc/exports 文件,添加如下代码



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



这里做一下说明:
/mnt/nfs 表示所设定的共享文件,这里可以任意改,
* 表示任意网段的下位机都可以连接到此文件夹

(rw,sync,no_root_squash) //表示一些权限

rw 
ro

no_root_squash若是以NFS挂载根文件系统时,必须设置此项 sync
async   


设置完共享文件夹之后需要重启NFS 服务器,


 

4.   服务操作指令

 

#重启
$sudo /etc/init.d/portmap restart
# 停止
sudo /etc/init.d/nfs-kernel-server stop
# 启动
sudo /etc/init.d/nfs-kernel-server start
# 重新启动
sudo /etc/init.d/nfs-kernel-server restart

这些做好之后我们可以在自己PC机上做一下测试

5.  测试



首先,我们可以使用如下命令查看所建立的共享文件夹 showmount -e 如果看到显示: Export list for ubuntu: /mnt/nfs * 则表示主机设置成功。



注意:

  1.完成后如出现 access denied 异常,重新启动系统即可

  2.在 ubuntu 11.10 中启动 nfs 服务时会遇到

     * Not starting: portmapper is not running

解决方法:

sudo service portmap restart
sudo /etc/init.d/nfs-kernel-server start

接下来,我们来设置ARM开发板上的一些信息。

 

要想ARM开发板和PC机能够建立网络文件共享,必须将ARM开发板与PC 通过网线连接起来,并且设置ARM开发板和PC 机在同一网段
我们可以通过如下命令来查看和修改ARM开发板IP地址:

ifconfig     //查看以太网开 IP 地址 ,主机同样是这个命令

ifconfig eth0 192.168.1.1    //这个命令是修改以太网卡 IP 地址,这里我的PC机的IP 地址是
192.168.1.104,要修改为同一网段

这样修改过之后,目标板和PC机在linux下能够互相很快地ping通。

6.  ARM开发板和PC机挂接

使用如下命令挂接

mount -t nfs -o nolock 192.168.1.104:/mnt/nfs /mnt/nfs

说明:
这里192.168.1.104是我的PC 机的IP地址,
第一个/mnt/nfs是我在PC 机上设置的NFS共享文件夹目录
第二个/mnt/nfs是我在ARM开发板上设置的共享文件夹目录

这条命令执行过之后就实现了ARM开发板和PC机之间的NFS网络文件系统挂接。

使用时,在将要传输的文件复制到PC机的/mnt/nfs目录下,在arm板的/mnt/nfs目录下就可以看到相应的文件,然后使用cp命令拷贝到自己的工作目录就可以了。