在嵌入式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目录。添加完成后,文件内容如下:
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。
然后确保开发板与linux主机的网路是畅通的。在开发板终端下使用如下命令将linux主机的/nfsroot目录中的内容挂载到开发板/mnt下:
sudo mount -t nfs 192.168.36.132:/nfsroot /mnt -o nolock
将在开发板的/mnt目录下看到linux主机/nfsroot中的内容。
PS:大家有什么遇到的问题,欢迎留言,一起讨论。
---------------------
作者:jfyh5388
来源:CSDN
原文:https://blog.csdn.net/u010812071/article/details/78702808
版权声明:本文为博主原创文章,转载请附上博文链接!