此文档仅为个人学习记录
参考:【正点原子】STM32MP157网络环境TFTP&NFS搭建手册V1.3.2.pdf

STM32MP157网络环境 TFYP&NFS搭建手册

第一章 STM32MP157开发板网络环境搭建

1.1.2网络拓扑结构

  根据百度百科的记录,网络拓扑(Network Topology)结构是指用传输介质互连各种设备的物理布局。指构成网络的成员间特定的物理的即真实的、或者逻辑的即虚拟的排列方式。本文档的理解就是开发板与电脑的局域网组合形式。
  各种设备指的是电脑主机、虚拟机、开发板、路由器/交换机等。传输介质指的是直通网线、WIFI等。

1.1.4 同一网段

  同一网段:本文档所用的是C类的IP,IP地址范围为192.0.0.0-223.255.255.255。C类IP前三个数表示不同的网络,最后一个数表示同个网段中的不同主机。例如 192.168.10.0192.168.18.0是不同的网络(例如局域网和无线网络),192.168.10.50192.168.10.100是在同一网段(都在局域网)。只有在同一网段中的主机才能ping通。

1.4电脑wifi上网,开发板和电脑直连

1.4.7总结

  电脑WIFI上网,开发板和电脑直连的情况来说:

  1. 防火墙设置:关闭电脑和虚拟机的防火墙。
  2. 网络连接:电脑使用无线上网,开发板网口直连电脑网口。
  3. VMwear 设置:设置网络适配器为桥接模式;添加一个网络适配器2为NAT模式。
  4. Ubuntu设置:设置NAT模式的网络适配器为自动获取模式(DHCP)﹔手动设置桥接模式的网络适配器的IP信息。
  5. Windows设置:手动设置以太网 TCP/IPv4属性中的IP信息。开发板设置:手动设置开发板的I信息。
    注意:Ubuntu里桥接模式的网络适配器、电脑的以太网、开发板的网口,三者要在同一网段,且不能与NAT模式的网络适配器、虚拟机子网在同一网段。Windows和 Ubuntu通过NAT模式的网络适配器通信。
1.4.7.1 对于正点原子的文档:

  在ubuntu中用ifconfig查看IP信息列表

  在windows中用ifconfig查看IP信息列表

Ubuntu中:
NAT模式连接到Windows的IP(ens38)为:192.168.198.128
桥接网络的IP(ens33)需要手动设置:(1)

在windows中:

网络适配器名 IP 地址 备注
以太网适配器
VMware Network Adapter VMnet1
192.168.219.1 在 host-only 模式下, 动态分配虚拟系统的 TCP/IP 配置信息,本文档不涉及
以太网适配器
VMware Network Adapter VMnet8
192.168.198.1 提供 DHCP 服务,用于主机和虚拟机互通,虚拟机上网
无线局域网适配器 WLAN 192.168.3.201 用于 Windows 主机上网
以太网适配器
VMware Network Adapter VMnet0
(2) 不提供 DHCP,用于桥接网络,要在虚拟网络编辑器设置手动设置 IP

最后:
(1):192.168.10.100
(2):192.168.10.200
(3):开发板IP设置:192.168.10.50
注意:
1, 在 Windows终端没有看到VMnet0,在虚拟网络编辑器中可以看到。这是我们用来桥接的网络适配器,不会自动分配IP,需要手动设置。这里要注意,VMnet0设置的网段不能和VMnetl、VMnet8的网段一样,不然会有冲突。
2, 使用 Filezilla 实现 Ubuntu 和 Windows 文件互传中的主机IP就是:NAT模式连接到Windows的IP(ens38)
3, 开发板IP设置:每次复位后需要重新设置

ifconfig eth0 up
ifconfig eth0 192.168.10.50
ifconfig

1.4.7.2 对于我的电脑

Ubuntu中:
NAT模式连接到Windows的IP(ens38)为:192.168.88.128
桥接网络的IP(ens33)需要手动设置:(1)
在windows中:

网络适配器名 IP 地址 备注
以太网适配器
VMware Network Adapter VMnet1
192.168.202.1 在 host-only 模式下, 动态分配虚拟系统的 TCP/IP 配置信息,本文档不涉及
以太网适配器
VMware Network Adapter VMnet8
192.168.88.1 提供 DHCP 服务,用于主机和虚拟机互通,虚拟机上网
无线局域网适配器 WLAN 17*.16.72.1 用于 Windows 主机上网
以太网适配器
VMware Network Adapter VMnet0
(2) 不提供 DHCP,用于桥接网络,要在虚拟网络编辑器设置手动设置 IP

最后:
(1):192.168.10.100
(2):192.168.10.200
(3):开发板IP设置:192.168.10.50

  开发板IP设置:每次复位后需要重新设置

ifconfig eth0 up
ifconfig eth0 192.168.10.50
ifconfig

第二章 TFTP环境搭建

2.1 TFTP简介

  TFTP (Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。我们可以使用TFTP来加载内核zlmage、设备树和其他较小的文件到开发板DDR上,从而实现网络挂载。

2.2搭建TFTP

2.2.2TFTP目录

/home/song/linux/tftpboot

2.2.3 tftp-hpa 和 tftpd-hpa 服务程序

重启tftpd-hpa: sudo service tftpd-hpa restart (ubuntu中)
重启xinetd服务: sudo service xinetd restart (ubuntu中)

2.3网络环境

  确保网络环境正常,Ubuntu、Windows和开发板能相互ping通。

  • 开发板 IP: 192.168.10.50
  • 虚拟机 IP: 192.168.10.100
  • 电脑网口的 IP: 192.168.10.200

2.4TFTP测试

  在板子上获取ubuntu tftpboot下的文件时,命令格式为: tftp [option] ... host [port]

  • -g 表示下载文件 (get)
  • -p 表示上传文件 (put)
  • -l 表示本地文件名 (local file)
  • -r 表示远程主机的文件名 (remote file)

使用ifconfig查看是否配置开发板IP,如果没有,使用以下语句配置

ifconfig eth0 192.168.10.50

Note:

  1. 在开发板上,将虚拟机TFTP工作目录下的目标文件复制到开发板中的当前文件夹下。tftp -g -r test.c 192.168.10.100
  2. 在开发板上,将虚拟机TFTP工作目录下的test文件夹下的test.c文件复制到开发板中的当前文件夹下。tftp –g –r test/test.c 192.168.100
  3. 如果文件其它用户权限为不可读,在板子上获取该文件时会报错(tftp:server error(0)Permission
    denied),此时,修改该文件的它用户权限为可读即可(-********* ->-******r**)
  4. tftp不能传文件夹。

第三章 NFS环境搭建

3.1NFS简介

  网络文件系统,英文Network File System(NFS),是由SUN公司研制的UNIX表示层协议(presentation layer protocol),能使使用者访问网络上别处的文件就像在使用自己的计算机一样。我们可以在Ubuntu 上制作开发板的根文件系统,然后使用NFS来加载根文件系统到开发板的DDR上。

3.3NFS共享目录

/home/song/linux/nfs

3.4 配置NFS服务

重启 NFS 服务器:sudo /etc/init.d/nfs-kernel-server restart (ubuntu下)
查看 NFS 共享目录:showmount –e (ubuntu下)

3.5网络环境

  确保网络环境正常,Ubuntu、Windows和开发板能相互ping通

  • 开发板 IP: 192.168.10.50
  • 虚拟机 IP: 192.168.10.100
  • 电脑网口的 IP: 192.168.10.200

3.6NFS测试

  首先使用ifconfig查看是否配置开发板IP,如果没有,使用以下语句配置

ifconfig eth0 192.168.10.50

  创建一个getnfs目录,将虚拟机NFS 共享目录挂载到到开发板的 getnfs目录中。挂载成功后,进入 getnfs 目录下可以查看到挂载的文件。

mkdir getnfs
mount -t nfs -o nolock,nfsvers=3 192.168.10.100:/home/song/linux/nfs getnfs/

挂接命令(mount)
命令格式:mount [-t vfstype] [-o options] device dir
(1)-t vfstype 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。常用类型有:

  • 光盘或光盘镜像:iso9660
  • DOS fat16文件系统:msdos
  • Windows 9x fat32文件系统:vfat
  • Windows NT ntfs文件系统:ntfs
  • Mount Windows文件网络共享:smbfs
  • UNIX(LINUX) 文件网络共享:nfs

(2)-o options 主要用来描述设备或档案的挂接方式。常用的参数有:

  • loop:用来把一个文件当成硬盘分区挂接上系统
  • ro:采用只读方式挂接设备
  • rw:采用读写方式挂接设备
  • iocharset:指定访问文件系统所用字符集

(3)device 要挂接(mount)的设备。
(4)dir设备在系统上的挂接点(mount point)。

Note: 板子复位后需要重新挂载

第四章 挂载教程系统

4.1 TFTP 挂载内核和设备树

  如何进入uboot命令行:参考STM32MP1嵌入式Linux驱动开发指南10.2.2.
  启动开发板,进入 uboot 命令行界面,设置网络相关信息。 这里笔者 Ubuntu 的 IP 是192.168.10.100,给开发板设置的 IP 是 192.168.10.50

setenv ipaddr 192.168.10.50  //开发板 IP 地址
setenv ethaddr 00:04:9f:04:d2:35    //开发板网卡 MAC 地址
setenv gatewayip 192.168.10.1   //开发板默认网关
setenv netmask 255.255.255.0        //开发板子网掩码
setenv serverip 192.168.10.100  //服务器地址,也就是 Ubuntu 地址
saveenv     //保存环境变量

4.2NFS挂载教程系统

setenv bootargs 'console=ttySTM0,115200 root=/dev/nfs nfsroot=192.168.10.100:/home/song/linux/nfs/rootfs/buildroot-2020.06-rootfs,proto=tcp rw ip=192.168.10.50:192.168.10.100:192.168.10.1:255.255.255.0::eth0:off'
//setenv bootargs 'console=开发板串口,波特率 root=挂载方式 nfsroot=虚拟机 IP 地址:文件系统路径,proto=传输协议 读写权限 ip=开发板 IP 地址:虚拟机 IP 地址:网关地址:子网掩码::开发板网口:off'
saveenv
boot

常见问题

1、 ubuntu休眠后,连不上网

ifconfig查看IP信息列表是这种状态

可以看到虚拟机NAT模式连接到Windows的网络ens38消失,自然无法连接到网络
解决方法: 重启网络,在终端输入 sudo service network-manager restart
再次用ifconfig查看IP信息列表

网络测试:

STM32MP157网络环境 TFYPNFS搭建手册-学习记录相关推荐

  1. 网络环境下的即时学习(供讨论完善)

    随时实地的使用百度工具,实现即时学习. 在提高班的学生学习中,这已经是一种很常规的学习习惯.但是,没有提升到教学模式到层次上.也没有做一个学习理论来研究.下面是一个思想火花的封存. 网络环境下,及时学 ...

  2. (Fabric 超级账本学习【5】)Fabric2.4网络环境下——搭建Hyperledger Fabric区块链浏览器

    博主最近在搭建Hyperledger Fabric区块链浏览器过程中也学习了很多博主的搭建流程,踩了很多雷,踩 了很多坑,现将成功搭建好的Hyperledger Fabric区块链浏览器详细流程分享如 ...

  3. Windows8.1 64bit环境下搭建深度学习平台之CUDA安装与配置

    http://blog.csdn.net/baigoocn/article/details/36188029 说明:想要让Theano在Windows8.1下能利用GPU并行运算,必须有支持GPU并行 ...

  4. oracle10g搭建,Oracle 10g环境的搭建手册

    以下的文章主要介绍的是如何搭建适合计算机开发人员的Oracle 10g环境,以及介绍其实际应用的代码,如果你对如何搭建适合计算机开发人员的Oracle 10g环境的实际应用感兴趣的话,你就可以点击以下 ...

  5. 异构网络环境matlab搭建代码,异构接入matlab

    在满足用户服务质量的同时,最小化系统的总功 率,以达到减少信道辐射干扰,并用 MATLAB 仿真出算法的有效性. 关键词:小基站异构网络,5G 系统 第一章 绪论 随着...... 欢迎访问 Gree ...

  6. Linux引出环境变量的关键字,学习记录008-linux常用命令/设置系统and用户环境变量two(示例代码)...

    修改文件  vi vi 是linux自带的,vim是vi的升级版 命令:vi 文件名 如果文件存在,那么就直接进入对应的文件的编译模式,如果文件不存在,那么就进入以文件名命名的空文件的编译模式 vi ...

  7. 网络工程实训eNSP学习记录

    参考视频b站众元助教元元-电源老师 目录 1.同网段主机与网关通信 2.基本VLAN划分 3.跨交换机VLAN划分 4.交换机间的链路聚合 5.单臂路由 8.动态路由协议 9.DHCP动态主机配置协 ...

  8. windows环境dubbo搭建手册

    听说微服务很火,貌似我也正在用,给有需要的同学介绍一下dubbo的搭建吧. 首先声明这篇文章将介绍以下模块: 1. zookeeper搭建 2. dubbo+springmvc+mybatis dem ...

  9. 学习前端工程师手册--学习记录

    1.HTML/CSS基础 1.1  HTML常用标签 div--div标签用于组合其他HTML元素,本身无实在意义.常用于页面的布局, h1~h6,p,span,strong,em--此类标签用于设置 ...

  10. 阿里php开发规范,阿里巴巴java开发手册学习记录,php版

    一.编程规约 (一)命名风格 1.目录使用小写+下划线 home,view,model,admin_view 2. 类 UpperCamelCase PhpMailer 方法 lowerCamelCa ...

最新文章

  1. px word 表格宽度_「Word技巧」掌握这六个Word表格处理技巧,表格排版不再是问题...
  2. 【oracle】sqlnet.ora 访问控制策略
  3. 2018-2019-2 20175305实验一《Java开发环境的熟悉》实验报告
  4. java class文件 代码_java_基础——用代码编译.java文件+加载class文件
  5. libsvm java 实例_LibSVM Java API调用示例程序
  6. (43)FPGA状态机三段式
  7. 用GPU进行TensorFlow计算加速
  8. c++课设作业之课程信息管理系统
  9. 蒲公英智能云数据管理|蒲公英智能云|TARA
  10. Android flag详解
  11. 中国黑客传说:游走在黑暗中的精灵
  12. 前端js实现从视频中提取图片帧
  13. IDEA中Maven项目莫名其妙出现很多飘红
  14. 怎么把qlv格式转换成mp4添加到编辑软件中
  15. ACM-ICPC 2018 南京赛区网络预赛 J Sum(欧拉线性筛+思维)
  16. Linux管线命令 - cut,grep,sort,uniq,wc,tee,tr,col,join,paste,expand,split,xargs
  17. 【python爬虫教程】用python抓取肯德基某地的门店列表实例代码(支持分页)
  18. Nvme固体硬盘Intel750,SM961分别使用一段时间以后对比
  19. 【硬核教程】作为一个程序员,怎么做才能母亲在母亲节感到双倍快乐
  20. CMMM智能制造能力成熟度评估流程、申请条件及政策汇总

热门文章

  1. mysql索引的子部分_Mysql索引数据结构详解及性能调优
  2. 默认关闭IDEA的注释doc的rendered view模式
  3. 常见的http状态码有哪些?分别表示什么意思?
  4. 小程序从数组中删除指定对象,返回新的长度源代码
  5. linux桌面图标恢复,修复桌面白图标的教程
  6. 百度智能手环方案开源(含源码,原理图,APP,通信协议等)
  7. linux基础-自查
  8. 数据分析——两种求解R平方的方法
  9. Camera-3A AE/AWB/AF
  10. 适用于 Windows 操作系统的远程服务器管理工具 (RSAT)