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