在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
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开发板和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命令拷贝到自己的工作目录就可以了。