1、什么是nfs?
NFS 是 Network File System 的缩写, 它可以通过网络, 让不同的机器、 不同的操作系统可以共享彼此的文件。
NFS 服务器可以让 PC 将网络中的 NFS 服务器共享的目录挂载到本地端的文件系统中, 而在本地端的系统中来看, 那个远程主机的目录就好像是自己的一个磁盘分区一样, 在使用上相当便利;
NFS 服务器我们一般是在 ubuntu 上搭建的。 这里的客户端我们使用的是开发板, 如下图所示。
2、同一网段概念
使用 nfs 之前, 开发板、 虚拟机 ubuntu、 windows 电脑三者要互相 ping 通, 这就涉及到了同一个网段的概念。
概念: 同一个网段是指 IP 地址和子网掩码相与得到的相同的网络地址。
快速判断同一个网段:
(1) 开发板、 虚拟机 ubuntu、 windows 子网掩码是不是相同。
(2) 开发板、 虚拟机 ubuntu、 windows IP 地址的前三段是不是相同。
举例:
由上图可知, ubuntu 的 IP 为 192.168.1.11, 子网掩码是 255.255.255.0
Windows:
由上图可知, windows 电脑的 IP 为 192.168.1.5 ,子网掩码是 255.255.255.0所以, ubuntu 和 windows 在同一个网段, 因为子网掩码相同, 都是 255.255.255.0, IP 地址前三段相同,都是 192.168.1。 同理, 判断开发板的网段是不是和 ubuntu 和 windows 在同一个网段下, 我们也可以使用这个方法。
3、连接方式
在我们做技术支持的时候,经常遇到很多小伙伴,开发板,Ubuntu,电脑主机不能互相ping通的问题,如果不能互相ping通,就不能使用nfs,所以这里作者总结了一个最稳定的连接方式,推荐大家使用,以免出现不能ping通的问题。
(1) 虚拟机 ubuntu 要使用桥接模式, 不能使用其他模式
(2) 开发板使用无线或者有线连接到路由器上, 不要直接连接到电脑,不要连手机热点。
(3) windows 关闭防火墙, 使用有线连接到和开发板连接的同一个路由器上。
(4) 保证虚拟机 ubuntu,Windows, 开发板在同一个网段。
4、nfs服务器的搭建
在 ubuntu 安装 nfs 服务: 使用命令sudo apt-get install nfs-kernel-server,如下图所示:
接着使用命令sudo mkdir -p /home/nfs在/home/路径下创建nfs文件,用来共享使用,如下图所示:
使用命令sudo vi /etc/exports,打开配置文件添加 nfs 共享目录,如下图所示:
在配置文件中添加以下代码:
/home/nfs/ *(rw,sync,no_root_squash)
其中: /home/nfs/ 是 nfs 服务器要共享的目录
rw:是可读写权限
sync:是资料同步写入内存和硬盘
no_root_squash:当登录 NFS 主机使用共享目录的使用者是 root 时, 其权限将被转换成为一名使用者,通常它的 UID 与 GID 都会变成 nobody 身份。
如下图所示:
配置完成后保存退出。使用命令/etc/init.d/nfs-kernel-server restart重启nfs服务,如下图所示:
从上图我们看出,nfs已经重启成功,说明Ubuntu上的nfs服务器已经搭建成功。
5、nfs服务器使用
我们按照4.4.5.3和4.4.5.2章节连接好开发板并设置好同一网段以后,使用命令mount -t nfs -o nolock 192.168.1.38:/home/nfs /mnt/将Ubuntu系统的/home/nfs文件夹挂载到开发板的/mnt目录下,如下图所示:
这句话代码的意思是使用 nfs 挂载/home/nfs 到 mnt 文件夹下, 192.168.1.38的 IP 为 ubuntu 的 IP.把这个 ip 改成自己 ubuntu 的 ip 就可以了。
6、nfs服务器测试
挂载好nfs以后,接着我们在Ubuntu的/home/nfs文件夹下使用命令sudo touch test.c创建一个c文件,如下图所示:
然后在查看开发板的/mnt目录,如果/mnt目录下也可以看到我们在Ubuntu虚拟机上创建的这个test.c文件,说明nfs挂载成功,如下图所示:
从上图可以看到,nfs已经可以正常使用。
龙芯2K1000开发板:
<ignore_js_op>
核心板参数:
尺寸:65mm*55mm
CPU :龙芯2K1000双核工业级处理器
主频:800MHz-1GHz
内存:板载2GB DDR3 ,可选4GB
存储:8MB的存储,用来放BOOT引导程序的
工作电压:12V和5V
系统支持:流畅运行vusybx、buiroot、Loognix、QT5.12系统。
引角扩展:引出脚多达232个,1.0间距的邮票孔方式,满足用户各类扩展需求
底板参数:
尺寸:190mm*125mm
POWER:电直流电源输入接口
SWITCH:电源开关
Ethernet:2 路10M/100M/1000M自适应以太网
USB HOST:4路USB2.0
OTG:支持
Mini HDMI:支持
RGB-LCD:支持
WIFI/BT:板载WIFI、蓝牙二合一模块
Mini PCIE:可外接mini PCIE接口的4G模块,具备PCIE2.0单通道
4G模块 :支持 (选配)
SIM Card:1个
UART:2路串口
RS485:1路
CAN:2路
蜂鸣器:一个有源蜂鸣器
RTC:支持
LIO/UART:2mm间距20PIN插座引出
GPIO :2mm间距20PIN插座引出
耳机接口:标准3.5mm耳机接口
JTAG:1路JTAG调试接口(2mm间距10PIN插座引出)
GPS:一路GPS (选配)
固态硬盘接口:1路 (SATA固态盘选配)
按键:3个
温度传感器:支持
风扇驱动:支持
尺寸:65mm*55mm
CPU :龙芯2K1000双核工业级处理器
主频:800MHz-1GHz
内存:板载2GB DDR3 ,可选4GB
存储:8MB的存储,用来放BOOT引导程序的
工作电压:12V和5V
系统支持:流畅运行vusybx、buiroot、Loognix、QT5.12系统。
引角扩展:引出脚多达232个,1.0间距的邮票孔方式,满足用户各类扩展需求
底板参数:
尺寸:190mm*125mm
POWER:电直流电源输入接口
SWITCH:电源开关
Ethernet:2 路10M/100M/1000M自适应以太网
USB HOST:4路USB2.0
OTG:支持
Mini HDMI:支持
RGB-LCD:支持
WIFI/BT:板载WIFI、蓝牙二合一模块
Mini PCIE:可外接mini PCIE接口的4G模块,具备PCIE2.0单通道
4G模块 :支持 (选配)
SIM Card:1个
UART:2路串口
RS485:1路
CAN:2路
蜂鸣器:一个有源蜂鸣器
RTC:支持
LIO/UART:2mm间距20PIN插座引出
GPIO :2mm间距20PIN插座引出
耳机接口:标准3.5mm耳机接口
JTAG:1路JTAG调试接口(2mm间距10PIN插座引出)
GPS:一路GPS (选配)
固态硬盘接口:1路 (SATA固态盘选配)
按键:3个
温度传感器:支持
风扇驱动:支持