使用NFS在ARM和Linux之间传输文件

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

出处:http://blog.csdn.net/leo115/article/details/7340682

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 客户端分享目录使用者的权限,即如果客户端使用的是 root 用户,那么对于这个共享的目录而言,该客户端就具有 root 的权限,若是以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命令拷贝到自己的工作目录就可以了。

原文地址:https://www.cnblogs.com/rogge/p/3277202.html