当前位置: 网站首页 > 技术支持 > 技术知识库

NFS环境搭建

 

网络文件系统(NFS,Network File System)是一种将远程主机上的分区(目录)经网络挂载到本地系统的一种机制,通过对网络文件系统的支持,用户可以在本地系统上像操作本地分区一样来对远程主机的共享分区(目录)进行操作。
 
在嵌入式Linux 的开发过程中,开发者需要在Linux 服务器上进行所有的软件开发,交叉编译后,通用FTP 方式将可执行文件下载到嵌入式系统运行,但这种方式不但效率低下,且无法实现在线的调试。因此,可以通过建操作Linux 服务器,同时可以在线对程序进行调试和修改,大大的方便了软件的开发。因此,NFS 的是嵌入式Linux 开发的一个重要的组成部分,本部分内容将详细说明如何配置嵌入式Linux 的NFS 开发环境。
 
嵌入式Linux 的NFS 开发环境的实现包括两个方面:一是Linux 服务器端的NFS 服务器支持;二是嵌入式目标系统的NFS 客户端的支持。因此,NFS 开发环境的建立需要配置linux 服务器端和嵌入式目标系统端。
 
 
一、现在开始安装教程:
1.安装nfs-kernel-server
sudo apt-get install nfs-kernel-server
2.配置nfs
sudo vi /etc/exports
在最后一行加上要挂载的目录
/home/user/RT288x_SDK/source/romfs  *(rw, sync, no_subtree_check)
 
括号中的参数的意义是:
 
rw:读/写权限,只读权限的参数为ro;
 
sync:数据同步写入内存和硬盘,也可以使用async,此时数据会先暂存于内存中,而不立即写入硬盘。
 
no_root_squash:NFS 服务器共享目录用户的属性,如果用户是 root,那么对于这个共享目录来说就具有 root 的权限。
 
然后是rt5350的内核配置:
首先kernel 配置
进入RT288x_SDK/source 目录
#sudo make menuconfig
选中 kernel/library/Defaults selection --->
Default all settings (lose changes)
Customize kernel Settings (new)
Update Default Vendor SEttings
退出
退出
保存
 
选中 Networking --->
Networking options --->
TCP/IP networking
IP: kernel level autoconfiguration
退出
退出
选中 File systems --->
Network File Systems --->
NFS file system support
  Root file system on NFS
退出
退出
退出
 
后面一直保存退出
 
其次是busybox配置:
接上面进入RT288x_SDK/source #sudo make menuconfig
选中 kernel/library/Defaults selection --->
   Customize Busybox Setting 选中退出(也可以在kernel配置是一块选择,这里区分开来为了明确配置的几个部分)
 然后系统会自动进入Busybox Configuration -->
 找到 Linux System Utilities
 选中mount 选中 support mounting NFS file system
          选中  support lots of -o flags in mount 
 选中 umount 退出 配置完成
busybox 是linux精简的指令包,我们可以通过裁剪获得我们需要的指令。如果挂载目标板后,输入指令提示没有找到,就是
我们配置busybox没有选中相应的指令
 
 
二 、NFS调试:
 
在终端显示挂载命令 showmount -e  该命令会显示目前能够挂载的目录。如果挂载失败,可以一下是否是目录不正确
# showmount -a  显示当前主机与客户端NFS联机共享状态
 
ubuntu上重启nfs服务指令
#sudo /etc/init.d/portmap restart restart
#sudo /etc/init.d/nfs-kernel-server restart
几个需要注意的地方 如果修改了/etc/exports 文件中的内容,就需要nfs重启指令
ubuntu上需要使用超级用户才可以重启nfs指令,所以要加上sudo 使用超级用户
否则会出现starting nfs kernel daemon fail 
 
二、在终端上挂载目标板,mount -o nolock 10.10.10.5:/home/tftp   /mnt
    上述的ip地址是电脑的ip地址(可以在终端上输入ifconfig查看),/home/tftp是我们在/etc/exports 中设置的位置
    可以用mountshow -e 查看
    /mnt 是指目标板的目录
    在目标板上可以输入ls指令查看目标板的目录,选择其中的一个(一般选择/mnt 或者/tmp)
 如果正常可以输入cd /mnt
 然后输入 ls
 查看挂载是否完成,如果完成,该目录下就会显示电脑上我们选择的目录下的内容
 在目标板上运行编译好的程序,首先将应用程序复制到我们选择的目录下,如果挂载成功,在目标板的挂载的目录下会看到
 编译好的应用程序。如果我们直接输入应用程序名,会提示 no found 我们要输入绝对路径 /mnt/port
 /mnt是目标板挂载的目录,port是应用程序名
 
 
三、网络连接
 
目标板和主机要提前ping一下,如果ping不通,nfs挂载肯定也就不会成功
检查一下虚拟机的网络连接问题,默认的条件下,虚拟机的网络模式是NAT模式,这种模式下虚拟机和目标板是无法ping通的
所以要把虚拟机的网络模式设置为桥接模式即bridged模式
如果这样也不行,就把windows网络连接 本地连接 ipv4设置为共享 在windows命令提示端口ping一下虚拟机看是否可以ping
通,在虚拟机下ping目标板,查看是否可以ping通
(网络连接问题很容易的忽略,我自己在配置是花了很多时间,请多注意一下)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
点击次数:  更新时间:2014-08-23  【打印此页】  【关闭
  • ©济南智嵌测控技术科技有限公司 鲁ICP备12000500号
  • 电话:0531-62327572 / 0531-62391062 免长途400电话:400-676-8610
  • 视频字符叠加器|电梯楼层叠加显示器|地磅字符叠加器
Powered by  EasyEle  ©2008-2016  http://www.easyele.com/