一、nfs文件挂载文件系统
1、nfs简介(Network File System)
- 功能:通过网络把一个操作系统里的文件挂载到另一个操作系统上。
即:使用网络将Vmware虚拟机中的Ubuntu-Linux文件系统下的一个目录挂载到开发板文件系统中。
2、虚拟机与开发板通信实现—网线连接
-
网线连接后,在SecureCRT连接到的开发板系统中输入以下指令,打开网络接口。
ifconfig eth0 up
2.1、电脑主机设置地址
Windows—>设置—>以太网—>更改适配器设置:找到连接到开发板的以太网。双击进入
属性—>IPV4—>属性:设置主机以太网的IP地址。
2.2、设置开发板系统的IP地址
进入文件/etc/network,打开interfaces文件
cd /etc/network
sudo vi interfaces
在文件中添加如下:
auto eth0
iface eth0 inet static
address 192.168.3.5 //开发板的ip地址,与电脑在同一网段下
netmask 255.255.255.0 //子网掩码
gateway 192.168.3.1 //网关
保存退出。设置文件保存更新后,要重启一下(同步一下刚才的设置)
/etc/init.d/S40network restart
重启之后和windowsIP地址互相ping能够ping通
2.3、虚拟机设置IP
2.3.1.、添加网络
编辑 —> 虚拟网络编辑器 —> 添加新的网路(比如vmnet1)
添加完毕-> 修改为桥接模式 -> 桥接至以太网
2.3.2、添加网络适配器
到虚拟机->设置->添加新的网络适配器->自定义->桥接至刚才添加的网路(vmnet1)-> 确定
2.3.3、手动分配IP:
添加完毕之后键入命令ifconfig 会多一个ens37
进入文件/etc/network,打开interfaces文件
cd /etc/network
sudo vi interfaces
在文件中添加如下:
auto ens37
iface ens37 inet static
address 192.168.3.6 //你虚拟机IP地址,与主机,开发板系统在同一网段下
netmask 255.255.255.0 //子网掩码
gateway 192.168.3.1 //网关
保存退出,重启网络服务(Linux中):
/etc/init.d/networking restart
3、nfs文件挂载
3.1、确保可以上网
//关闭桥接到以太网的网络
sudo ifconfig ens37 down
//打开桥接到WIFI的网络
sudo ifconfig ens33 up
3.2、下载nfs
//更新下载源
sudo apt-get update
//安装nfs
apt-get insatll nfs-kernel-server
//检查刚刚下载的NFS服务是否为active
/etc/init.d/nfs-kernel-server status
3.3、创建文件夹,并修改权限
cd /home/用户名
mkdir nfs //创建文件夹
chmod 777 nfs //修改权限
3.4、修改配置文件
进入文件/etc,打开exports文件
cd /etc
sudo vi exports
在文件末尾写入: 挂载源的绝对路径 *(配置)
//样式:/home/用户名/文件名 *(rw,sync,no_root_squash)
/home/aaa/nfs *(rw,sync,no_root_squash)
检查配置是否成功
键入命令:sync //同步环境
键入命令:/etc/init.d/nfs-kernel-server restart //重启nfs服务
键入命令:showmount -e //显示当前可以被挂载的目录
3.5、在开发板终端输入命令,进行挂载
确保开发板和虚拟机能够互通ping
输入命令进行挂载
样式:mount -t nfs ip:pathname local_pathname -o nolock
ip:目标设备的ip,虚拟机ip
pathname:挂载文件的路径
local_pathname :开发板文件系统中的路径文件
mount -t nfs 192.168.3.6:/home/aaa/nfs /mnt -o nolock
理解为:将IP地址为192.168.3.6的虚拟机的家目录下的nfs目录挂载到当前目录下的根目录下的mnt里。
二、挂载另一种方式—wifi模块
1、虚拟机与开发板通信实现—WIFI模块
1.1、配置开发板WIFI
<1>文件系统目录/etc下已经有wpa_supplicant.conf文件,不需要再次生成
vi /etc/wpa_supplicant.conf
<2>配置wpa_supplicant.conf文件
network={
ssid="wifi名字"
psk="密码"
}
<3>在后台运行进程 启用wifi模块,观察串口输出信息
使用ifconfig命令查看wlan0网口是否打开
wpa_supplicant -Dnl80211 -iwlan0 -c /etc/wpa_supplicant.conf -dd >/var/wifi_log &
<4>使用命令给已经启用的wlan0网络设备分配一个IP
udhcpc -i wlan0 &
1.2、开发板输入挂载命令
确保开发板和虚拟机能够互通ping
输入命令进行挂载
样式:mount -t nfs ip:pathname local_pathname -o nolock
ip:目标设备的ip,虚拟机ip
pathname:挂载文件的路径
local_pathname :开发板文件系统中的路径文件
mount -t nfs 192.168.3.6:/home/aaa/nfs /mnt -o nolock
理解为:将IP地址为192.168.3.6的虚拟机的家目录下的nfs目录挂载到当前目录下的根目录下的mnt里。
三、简便使用–脚本文件
1、开发板系统开启nfs挂载(每次开机都需要重新开启)
在网络连接的前提下:
touch nfs.sh
chmod 777 nfs.sh
编写代码后执行代码
./nfs.sh
代码:
#!/bin/sh
mount -t nfs 192.168.3.18:/home/aaa/nfs /mnt -o nolock
2、降低警告的级别
touch nowaring.sh
chmod 777 nowaring.sh
编写玩执行
./nowaring.sh
代码:
#!/bin/sh
echo 0 > /proc/sys/kernel/printk
3、常用(不用编程脚本):重启网络服务
/etc/init.d/nfs-kernel-server restart //重启nfs服务
ifconfig ens37 up //开启网络接口
ifconfig ens37 down //开启网络接口
//重启网络服务,有时候网络会自己掉,需要重启
/etc/init.d/networking restart