宿主机-开发板设置NFS共享目录(1)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/keheinash/article/details/50642822

在嵌入式领域的开发中,常常要使用到交叉编译的方法。因为开发板上的资源有限,所以需要利用宿主机上丰富的资源对代码进行编译调试,然后把确认没有问题的可执行文件放到开发板上运行。要做到宿主机和开发板进行数据传输,可以使用串口、ftp、nfs等方法,前两种方法的速度比较慢并且传输过程容易出错,因此一般利用nfs服务来进行数据共享。

同样是以unbun为例子:

首先,确认你的宿主机安装了nfs服务,如果没有安装,用这个命令:
sudo apt-get install nfs-kernel-server;

成功安装后,开启nfs服务:
sudo service nfs-kernel-server status;(普通用户权限会开启失败,所以记得提升权限)
这里写图片描述

开启nfs服务之后,确认宿主机和开发板是属于同一个网段,必须在同一网段的情况下,才能成功进行数据共享。

接着要建立一个用于数据共享的目录,比如/home/share,把你想放到开发板上的文件放在这个目录下。

在开发板上,使用以下命令挂载:
mount -t nfs -o nolock 192.168.1.240:/home/share /tmp
192.168.1.240是宿主机的IP地址,后面紧跟着的/home/share就是刚才指定的宿主机指定的共享目录,再后面的/tmp就是在开发板上的用来存储/home/share这个目录的内容的目录,可以理解成宿主机上的/home/share的内容被拷贝到开发板上的/tmp这个文件夹。这样你就可以在/tmp下看到/home/share这个目录的内容,你可以把在宿主机上编译好的可执行文件放在/home/share,在开发板上成功挂载之后,这些文件将在开发板上的/tmp目录下出现。当然,这个/tmp目录也是由用户自己指定,只要你记住自己指定的是哪个目录就行了。

当在开发板上mount,出现 failed, reason given by server: Permission denied,可以尝试在宿主机/etc/exports下添加:
/home/share 10.219.91.* (rw,sync,no_root_squash)
其中/home/share是共享路径,后面是IP地址,最后用*,表示允许该网段拥有括号里的权限

猜你喜欢

转载自blog.csdn.net/keheinash/article/details/50642822
今日推荐