如何手工挂载NFS到开发板
我们在练习驱动的时候,常常需要开发板共享服务器的文件,今天就来谈谈如何挂载NFS!
一 NFS介绍
NFS:Network File System(网络文件系统),NFS只是一种文件系统,本身并没有传输功能,是基于RPC协议实现的,为C/S架构。也就是说,NFS也只是文件系统而已,与jffs2,yaffs,ext4等是一类东西。但是NFS的特殊之处在于,它可以通过网络来挂载,而不用烧写到设备上。这就跟网吧里使用PXE启动来搭建无盘系统一样:每台电脑并没有安装硬盘,而是直接通过PXE启动服务器上的系统,看起来每台电脑都有硬盘,其实都是挂载服务器上的硬盘。
二 NFS使用步骤
前提条件:1-->在挂载NFS之前,要确保你的开发板已经烧写好了文件系统,能够正常进入linux.
2-->确保开发板能够ping通服务器(最好是使用路由器)
2.1 服务器端设置
1-->下载NFS服务器:sudo apt-get install nfs-kernel-server(确定虚拟机能够联网条件下)
2-->配置NFS服务器:sudo vi /etc/exports
加入最后这一句话:表示允许客户端挂载的目录,必需设置,如果不设置,服务器将不允许客户端挂载。括号里是一些参数。
3-->重启nfs服务器:sudo /etc/init.d/nfs-kernel-server restart
2.2 客户端设置(开发板)
1-->设置开发板ip地址,确保与服务器在同一网段,设置子网掩码,网关,服务器ip等参数。设置完后如下图:
服务器ip:
开发板ip:
确保能够成功ping通服务器:
2.3使用NFS
这里我采用手动挂接的方式:mount -t nfs -o nolock,vers=2 192.168.1.11:/work/nfs_root /mnt
关于mount如果不了解,可以执行 mount -h 查看帮助:
mount :挂载命令
nfs :使用的协议
nolock :不阻塞
vers : 使用的NFS版本号
IP : NFS服务器的IP(NFS服务器运行在哪个系统上,就是哪个系统的IP)
/work/nfs: 要挂载的目录(Ubuntu的目录)
/mnt : 要挂载到的目录(开发板上的目录,注意挂载成功后,/mnt下原有数据将会被隐藏,无法找到)
好了,来看一下,现在就可以使用NFS共享服务器的文件内容了,我在服务器上随便创建一个文件:
在开发板的mnt目录上看一下:
成功了。