NFS挂载


嵌入式开发工作流

对于嵌入式开发而言一般需要接触3个系统,windows写文件或者写程序,虚拟机中开ubuntu系统交叉编译程序生成执行文件,开发版中将设备驱动文件加载或者运行编译好的可执行程序。所以这三大系统必然存在一个文件交换的过程。

windows-ubuntu

通过filezilla通过网络连接,采用FTP协议传输文件;用SSH服务进行远程控制。

windows-开发板

通过MobaXterm用串口连接终端,或者用网络(见下一节)

ubuntu-开发板

通常通过网络连接将ubuntu目录挂载到开发板上。这个过程较为麻烦,有以下流程:

安装网络服务

ubuntu系统中

NFS是一种网络服务,开发板可以通过网线连接ubuntu来使用NFS服务,也可以通过OTG线连接。

首先安装NFS服务。

sudo apt-get install nfs-kernel-server#安装NFS服务

修改配置文件,允许开发板访问该目录

/home/nfs *(rw,nohide,insecure,no_subtree_check,async,no_root_squash)

重启NFS服务

sudo /etc/init.d/nfs-kernel-server restart

开发板中

由于我选择采用OTG线进行连接,所以需要安装驱动模拟USB网卡。

modprobe g_ether

安装返回的语句中表示模拟出网卡USB0(或者是别的),然后设置其IP地址

ifconfig usb0 10.10.70.1

在ubuntu中进行挂载

查找网卡设备

ifconfig -a

可以看到网卡设备为ens33(一般不一样)。然后设置其IP地址,并测试网络连接

sudo ifconfig ens35u1 10.10.70.2
ping -I usb0 10.10.70.2

然后就可以挂载了

mount -t nfs -o nolock 10.10.70.2:/home/sdj/linux/nfs /mnt
df -h #查看挂载的情况

挂载完后就可以在ubuntu系统中将文件复制到/nfs文件中,开发板就可以在/mnt中找到该文件。


文章作者: sdj
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 sdj !
  目录