老婆出轨 发表于 2024-8-8 16:17:46

【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第一篇 嵌入式Linux入门篇-第

i.MX8MM处置惩罚器采用了先进的14LPCFinFET工艺,提供更快的速率和更高的电源服从;四核Cortex-A53,单核Cortex-M4,多达五个内核 ,主频高达1.8GHz,2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT、4G模块、CAN、RS485等接口一应俱全。H264、VP8视频硬编码,H.264、H.265、VP8、VP9视频硬解码,并提供相关进程,支持8路PDM接口、5路SAI接口、2路Speaker。系统支持Android9.0(支持获取root限)Linux4.14.78+Qt5.10.1、Yocto、Ubuntu20、Debian9系统。实用于智能充电桩,物联网,工业控制,医疗,智能交通等,可用于任何通用工业和物联网应用、

【公众号】迅为电子
【粉丝群】258811263(加群获取驱动文档+例程)
第二十九章 NFS服务器的搭建和使用

本章内容对应视频讲解链接(在线观看):
nfs服务器的搭建和使用 → https://www.bilibili.com/video/BV1M7411m7wT?p=30
本章我们使用 nfs 服务器,使用 nfs 拷贝文件到开发板上。
29.1 什么是nfs 

NFS是Network File System 的缩写,它可以通过网络,让不同的机器、不同的操纵系统可以共享彼此的文件。
NFS服务器可以让PC将网络中的NFS服务器共享的目次挂载到当地端的文件系统中,而在当地端的系统中来看,谁人长途主机的目次就似乎是自己的一个磁盘分区一样,在使用上相当便利;
 
NFS服务器我们一般是在ubuntu上搭建的。这里的客户端我们使用的是开发板,如下图所示。
https://i-blog.csdnimg.cn/direct/2baa2e5094914306a4f75c2c4dd4831c.png
即/home/mnt下的文件和/home/nfs下的文件他们的文件是一样的。
大家可以类比之前讲的 samba :
Ubuntu安装samba 与windows 电脑共享了一个文件夹。这个文件夹win电脑可以直接访问,ubuntu也可以直接访问。windows可以直接访问这个文件夹把 ubuntu内里的文件拖出来,ubuntu也可以直接访问这个文件夹把Windows 电脑上的文件拖出来。
samba共享的文件夹可以类比成nfs共享的文件夹 /home/nfs
nfs服务器是安装在 ubuntu 上的,以是nfs 服务器可以类比成 ubuntu
ubuntu也可以访问 /home/nfs 这个目次,因为这个目次就是在 ubuntu 上,nfs客户端也就是开发板,我们可以把它类比成samba服务中的windows电脑,以是说开发板也可以直接访问 /home/nfs 这个目次,
以是使用nfs服务器就轻松实现开发板和 ubuntu 之间互传文件。
 
29.2 同一个网段概念

使用nfs之前,开发板、虚拟机ubuntu、windows电脑三者要互相ping 通,这就涉及到了同一个网段的概念。
概念:同一个网段是指IP地点和子网掩码相与得到的相同的网络地点。
快速判断同一个网段:

[*]开发板、虚拟机ubuntu、windows子网掩码是不是相同。
[*]开发板、虚拟机ubuntu、windows IP地点的前三段是不是相同。
举例:
Ubuntu:
https://i-blog.csdnimg.cn/direct/1ad3f4d728994cbd85d4a6a9d763f9af.png
由上图可知,ubuntu的IP为192.168.1.11,子网掩码是255.255.255.0
Windows:
https://i-blog.csdnimg.cn/direct/6772f01ac5b740c4bb17a5aa821f6562.png
由上图可知,windows电脑的IP为 192.168.1.5 ,子网掩码是 255.255.255.0
以是,ubuntu和windows 在同一个网段,因为子网掩码相同,都是255.255.255.0,IP地点前三段相同,都是 192.168.1。同理,判断开发板的网段是不是和ubuntu和windows在同一个网段下,我们也可以使用这个方法。

29.3 开发板,windows,虚拟机ubuntu三者之间的毗连


[*]虚拟机ubuntu要使用桥接模式,不能使用其他模式
[*]开发板使用无线大概有线毗连到路由器上,不能直接毗连到电脑,不能连手机热门。
[*]windows关闭防火墙,使用有线大概无线毗连到和开发板毗连的同一个路由器上。
[*]假如windows使用的是无线毗连到路由器,那么虚拟机vm要桥接到无线网卡,反之,桥接到有线网卡。
虚拟机桥接模式是自动选择的,选择编辑,选择虚拟网络编辑器,点击一下更改设置,这个必要管理员的权限,桥接模式他这里是自动的,他下边有一个网卡,这个呢我使用的是有线,以是他是有线网卡。

[*]包管虚拟机ubuntu,Windows,开发板在同一个网段。
[*]使用以上毗连方法极大淘汰ping不通的概率。假如ping不通,请检查以上5条是否全部满意。
29.4 nfs服务器的搭建

(1)在ubuntu安装nfs 服务:在管理员的身份下运行
   apt-get install nfs-kernel-server
 https://i-blog.csdnimg.cn/direct/da2ccdce2a9045f1b5b35ef91ec51ad8.png2) 在/home 下创建一个名为nfs的文件夹
https://i-blog.csdnimg.cn/direct/0c26258bf0b14dc0b1c696f34329bc5d.png
3) 打开配置文件添加nfs共享目次
   vi /etc/exports
 https://i-blog.csdnimg.cn/direct/65d502462bcd42e2894c8bd1c4e63a44.png
在配置文件内里添加一下代码:
   /home/nfs/ *(rw,sync,no_root_squash)
https://i-blog.csdnimg.cn/direct/2dda148c73164ddab046f3f8067991f9.png
其中: /home/nfs/ 是 nfs 服务器要共享的目次
rw:是可读写权限
sync:是资料同步写入内存和硬盘
no_root_squash:当登录NFS主机使用共享目次的使用者是root时,其权限将被转换成为一名使用者,通常它的UID与GID 都会变成 nobody身份。
(4)重启nfs服务
   /etc/init.d/nfs-kernel-server restart
https://i-blog.csdnimg.cn/direct/42f042655f3a46f485532abf85a0a160.png 
表现ok就阐明nfs服务器搭建乐成了。
29.5 nfs服务器的使用


[*]我们将开发板开发板烧写yocto文件系统,有线网口通过网线毗连到路由器,系统起来后首先使用“ifconfig”查察开发板 ip。如下图所示:
https://i-blog.csdnimg.cn/direct/f5c4d6c38d054027adb0da44bc573c46.png
(2)在Ubuntu上输入“ifconfig”,查察一下 NFS 服务器(Ubuntu)的 ip地点,如下图所示:
https://i-blog.csdnimg.cn/direct/f10a3cc0fb094732bc5ff2c05e3478d3.png
(3)通过查询ip地点,查察到开发板和服务器在同一网段,假如不在同一网段,则必要修改开发板的网络设置,重新设置ip地点并重启开发板使之生效。
(4)开发板上使用 ping 命令测试网络,如下图所示,开发板和 ubuntu 服务器之间的网络是连通的。
https://i-blog.csdnimg.cn/direct/f5ac628e4b0c4615a6b9fa4b35c1dae0.png
(5)挂载nfs服务器共享的目次,命令如下:
   mount -t nfs -o nolock 192.168.1.45:/home/topeet/imx8mm/ /mnt
https://i-blog.csdnimg.cn/direct/8a90b9ddc4eb4444ba9eee16f239efab.png
这句话代码的意思是使用nfs挂载的ubuntu(IP为192.168.1.45)中的/home/topeet/imx8mm/到开发板的mnt 文件夹下,192.168.1.45的IP为ubuntu的IP。把这个 ip改成自己ubuntu的 ip就可以了,前提是开发板必须可以大概 ping 通 ubuntu ,假如没有ping 通的话再检查下,复制命令,这样就挂载好了nfs服务。那么挂载好了之后要怎么用呢,我这里打开ubuntu,然后进到我们平常做实验的目次,在这个目次下有一个 hello 的可执行文件,file hello 查察下,他是在开发板上运行的,架构是arm 的,假如是借助tf卡大概U盘来拷贝会比较贫苦,我们可以直接使用 nfs ,我如今把这个可执行文件拷贝到共享目次下,也就是 /home/topeet/imx8mm/这个目次。
然后我们再进到共享目次看一下,在这个目次下有一个 helloworld.c文件,如今是在 ubuntu上操纵的,然后在超级终端上看一下,这里是把共享的目次挂载到了 mnt 上,进到 /mnt目次下,ls看一下,在这里就可以看到ubuntu的helloworld.c文件了,我们来运行下,是可以运行乐成的,以是说使用nfs,我们可以很方便地把 ubuntu上的文件拷贝到开发板。
   cd /mnt
https://i-blog.csdnimg.cn/direct/0a6199a5648d42839db8afb205231c7c.png 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第一篇 嵌入式Linux入门篇-第