在开发驱动过程中,使用nfs来挂载文件。将写好的驱动文件复制到开发板中进行测试,不用每次都烧写文件系统。
一、在主机上安装服务器:
#apt会自动安装nfs-common、rpcbind等13个软件包
sudo apt install nfs-kernel-server
二、编写配置文件:
#编辑/etc/exports 文件
sudo vi /etc/exports
#/etc/exports文件的内容如下:
/nfsserver *(rw,sync,no_subtree_check,no_root_squash)
-
/nfsserver :共享的目录
-
* :指定哪些用户可以访问
-
* 所有可以ping同该主机的用户
-
192.168.1.* 指定网段,在该网段中的用户可以挂载
-
192.168.16.12 只有该用户能挂载
-
(ro,sync,no_root_squash): 权限
-
ro : 只读
-
rw : 读写
-
sync : 同步
-
no_root_squash: 不降低root用户的权限
-
其他选项man 5 exports 查看
三、创建共享目录
sudo mkdir -p /tmp
四、重启nfs服务:
sudo service nfs-kernel-server restart
五、常用命令工具:
1、在安装NFS服务器时,已包含常用的命令行工具,无需额外安装,显示已经mount到本机nfs目录 的客户端机器。
sudo showmount -e localhost
2、将配置文件中的目录全部重新export一次!无需重启服务。
sudo exportfs -rv
3、查看NFS的运行状态
sudo nfsstat
4、查看rpc执行信息,可以用于检测rpc运行情况
sudo rpcinfo
5、查看网络端口,NFS默认是使用111端口。
sudo netstat -tu -4
六、客户端(也就是我们的hisi3519v101的开发板)
1、首先要确保开发板能ping通虚拟机(nfs服务端)
使用ifconfig查看服务端ip地址:192.168.16.110
2、设置开发板:
输入挂载指令挂载主机的共享文件夹到开发板的mnt目录下
mount -t 192.168.16.89:/nfsserver /mnt -o nolock
出现以下问题:mount:can`t find /mnt in /etc/fsrab
解决方法:打开 /etc/fstab文件进行编辑 添加:
192.168.16.89:/nfsserver /mnt nfs defaults 0 0
编辑完成保存,从新挂载
mount -t nfs -o nolock -o tcp -o rsize=32768,wsize=32768 192.168.16.89:/home/sns/1.0TB/hisi/nfsserver /mnt
至此,nfs挂载成功。