开发板通过NFS挂载访问linux(虚拟机)主机中内容

在嵌入式linux开发中,需要在linux主机中为开发板编写程序代码,然后编译程序,生成的程序是要传输到开发板上才能调试、运行。通过NFS,linux主机可以将自己系统中某个指定目录通过网络共享给开发板。开发板可以直接运行存放于Linux主机共享目录下的程序。

下面用一个例子说明如何操作,该例将linux主机中/nfsroot下的目录文件挂载到开发板中/mnt的目录下,即使得在开发板中可以访问linux主机中/nfsroot中的内容。

操作步骤:

1、在linux主机中安装NFS软件包:

在linux主机终端输入下面命令安装NFS:

sudo apt-get install nfs-kernel-server #安装NFS服务器
sudo apt-get install nfs-common #安装NFS客户端

2、添加NFS共享目录:

安装完NFS后,需要指定用于共享的NFS目录,此例中即为linux主机的/nfsroot目录。方法是在linux主机的"/etc/exports"文件里面设置对应的目录及相应的访问权限,每一行对应一个设置。下面介绍如何添加NFS共享目录。

在linux主机终端输入指令:

sudo vi /etc/exports
打开exports文件,在该文件末尾添加下面的一行:

/nfsroot  *(rw,sync,no_root_squash)
其中'*'表示允许任何网段IP的系统访问该NFS目录。添加完成后,文件内容如下:

开发板通过NFS挂载访问linux(虚拟机)主机中内容_第1张图片

3、为/nfsroot目录设置最宽松的权限:

sudo chmod -R 777 /nfsroot
sudo chown -R nobody /nfsroot

4、执行如下命令,启动NFS服务:

sudo /etc/init.d/nfs-kernel-server start

执行如下命令,可以重启NFS服务,也可以通过重启linux主机来实现:

在NFS服务已经启动的情况下,如果修改了"/etc/exports"文件,需要重启NFS服务,以刷新NFS的共享目录。

sudo /etc/init.d/nfs-kernel-server restart

当然在下一次启动系统时,NFS服务是自动启动的。

5、在开发板上进行挂载测试:

首先通过ifconfig命令查看主机linux IP地址为192.168.36.132。

开发板通过NFS挂载访问linux(虚拟机)主机中内容_第2张图片

然后确保开发板与linux主机的网路是畅通的。在开发板终端下使用如下命令将linux主机的/nfsroot目录中的内容挂载到开发板/mnt下:

sudo mount -t nfs 192.168.36.132:/nfsroot /mnt -o nolock

将在开发板的/mnt目录下看到linux主机/nfsroot中的内容。


PS:大家有什么遇到的问题,欢迎留言,一起讨论。

你可能感兴趣的:(嵌入式,linux)