在学习正点原子Linux开发板的时候,视频教程中电脑和开发板都接的是路由器,这样在使用nfs 命令时,虚拟机和开发板的网络是通的,nfs命令就可以直接使用。但是自己在使用的时候,没有路由器,只能用网线将开发板和电脑直接连起来,这样直接使用nfs命令时就会出现网络不通的情况。经过一番研究,终于调试成功了,现在记录下设置方法。

默认情况下都是在Windows系统中装一个虚拟机,然后在虚拟机中安装Ubuntu系统。由于目前大多数电脑都是笔记本,使用的是无线网络。这样在装虚拟机的时候,设置网络时默认的选择的桥接模式用的是无线网卡。这样虚拟机就可以共享Windows的无线网卡来上网了。但是如果用网线将笔记本和开发板连接起来后,使用的是有线网卡。这样开发板就不能通过有线网卡直接访问到虚拟机中的Ubuntu系统了。所以第一步就要把虚拟机的网络设置为有线网卡桥接。在设置前记得给虚拟机联网并安装好需要用到的服务,因为虚拟机切换为有线桥接时就不能上网了。用网线直接连接开发板和笔记本,不需要接路由器。下面开始设置参数。

1,设置桥接网络。

先关闭虚拟机,然后在虚拟机软件Oracle VM VirtualBox中选择设置。

然后在左边选择网络

然后在右边网络选项中选择启用网络连接前面打钩,连接方式选择桥接网卡。

然后在界面名称中就会出现两个网卡,一个是无线网卡,一个是桥接网卡。如果虚拟机想要联网的话,就选择无线网卡。如果虚拟机要通过网线和开发板直接访问的话,这里就必须选择有线网卡。

设置完成后点OK按钮。

然后点启动按钮,启动虚拟机。

2.设置IP地址

下面设置笔记本有线网络的IP地址。

设置本地连接的IPV4地址为 192.168.1.100,下来设置虚拟机Ubuntu系统的IP地址。

在Ubuntu桌面右上角点网络图标,然后鼠标在有线已连接上单击一下,在展开的选项中选择有限设置。

在打开的界面中左侧选择网络,然后单击右边的网络设置按钮。

选择IPv4选项页设置IP地址,选择手动,然后在底下地址栏输入地址、子网掩码、网关。讲Ubuntu的IP地址设置为192.168.1.66,设置好之后点击右上角应用按钮。

设置好IP地址后,下面就可以测试Windows系统和Ubuntu系统的网络是否可以互相访问了。

3.测试网络

首先查看Windows系统和Ubuntu系统的IP地址是否设置的正确。

在Windows系统中在命令提示符中输入ipconfig 查看本机IP地址,在Ubuntu系统中,输入ifconfig查看本机地址。可以看到两个系统的IP地址设置都正确。下来用ping命令测试两个网络通不通。

在分别使用ping命令ping另一个系统的IP地址,测试结果显示网络延时小于1ms,说明网络环境非常好。接下来开始设置开发板IP。

4.设置开发板网络参数

开发板要使用nfs命令,前提是要向开发板里面下载好uboot系统,具体下载方法参考https://blog.csdn.net/qq_20222919/article/details/115626951 这篇文章。

开发板的uboot系统下载好之后,打开串口终端软件,复位开发板,在倒计时结束前按下键盘上任意按键。

下面设置开发板的网络参数

设置开发板的IP地址、网卡地址、网关地址、子网掩码、服务器地址。

这里的服务器地址就是Ubuntu系统的IP地址,因为是要直接从Ubuntu系统中下载数据。

设置好之后使用printenv命令查看一下环境变量

接下来测试开发板与笔记本的网络

通ping命令测试,可以看到开发板和Windows系统,Ubuntu系统的网络都是通的。说明使用网线直接连接开发板和虚拟机是可以的,这样在以后的学习中就可以不用通过路由器就可以直接给开发板下载文件了。

下面就测试一下开发板使用nfs命令从Ubuntu系统中下载文件。

首先将正点原子制作的zImage文件发送到Ubuntu系统中的nfs文件夹中。

下面在开发板中使用nfs命令将zImage下载到开发板中,在串口终端中输入下面命令。

nfs 80800000 192.168.1.66:/home/hxydj/linux/nfs/zImage

意思就是从 192.168.1.66这个IP地址中下载指定文件夹中的内容到 0x80800000开始 地址处。

下载时出现了一个错误,这个错误是Ubuntu系统兼容性导致的。我的虚拟机版本是ubuntu version:18.04, ubuntu 默认的NFS版本为V3,V4及以上版本,而开发板中的NFS版本为V2版本,所以导致错误。这里需要修改一下配置文件。详细的步骤是参考这篇文章的:https://blog.csdn.net/polaris_zgx/article/details/103571725

4.修改Ubuntu系统nfs配置文件

在Ubuntu系统中用管理员权限打开 nfs-kernel-server 文件

修改文件中内容

新添加的内容为第3行,第14行,第22行。

修改完成之后保存退出。

重启NFS服务器。sudo service nfs-kernel-server restart

5.下载镜像文件

下来继续在串口终端使用nfs命令下载zImage文件。

这次镜像文件就可以下载到了开发板,那么怎么验证下载的数据是否正确呢?

6.验证数据

下载结束后要验证下载的数据是不是正确,在串口终端中输入内存查看命令

md.b 80800000 100

查看从0x80800000地址启动,0x100个数据的内容,然后在Windows系统中用户notepad++软件打开zImage镜像文件,通16进制查看镜像文件中的数据。

关于如何查看16进制文件,可以参考https://blog.csdn.net/qq_20222919/article/details/112985271?spm=1001.2014.3001.5501 这篇文章。

通过对比开发板中和镜像文件中的内容可以看到,下载的文件是正确的。也验证了上面的步骤都是正确的,开发板可以通过网线直接和笔记本中的虚拟机进行通信。这样就可以省下买路由器的钱啦! 哈哈!

Linux学习笔记---网线直连电脑和开发板使用nfs下载文件相关推荐

  1. JZ2440开发板与电脑通过网线直连,实现开发板、虚拟机、PC机三者互Ping,并成功挂接网络根文件系统

    声明: 本文提及的部分图片与内容属于韦东山老师的教学视频课程内容,本文提出的解决方案是基于韦老师教学视频中提及方案的扩展. 转载内容来自: [005_ARM裸机1期加强版_第006课_第006节_一句 ...

  2. Linux学习笔记---使用tftp命令下载文件

    向开发板下载数据时,不仅可以通过nfs命令下载,还可以通过更简单的命令tftp下载. 用网线将开发板和笔记本连接起来,设置好网络环境.网络的具体设置方法可以参考 Linux学习笔记---网线直连电脑和 ...

  3. Linux学习笔记五:arm-2009q3交叉编译环境安装、U盘拷贝文件到开发板

    目录 一.概述 二.arm-2009q3安装 三.编译测试 四.开发板运行 一.概述 现在已经完成PC端的虚拟机环境安装.完成了开发板镜像烧写.以测试的hello为例,PC端使用gcc hello.c ...

  4. 学习笔记(01):巫妖王51单片机开发板配套视频课程-LED闪烁和流水灯效果

    立即学习:https://edu.csdn.net/course/play/6735/133119?utm_source=blogtoedu 2020-5-14 keil LED 闪烁,流水灯

  5. 学习笔记(01):巫妖王51单片机开发板配套视频课程-查询方式矩阵按键

    立即学习:https://edu.csdn.net/course/play/6735/133126 是独立按键还是矩阵按键

  6. arduino学习笔记二十--无源蜂鸣器+ARDUINO开发板播放音乐

    无源蜂鸣器+ARDUINO开发板播放音乐 用到材料 1个无源蜂鸣器 2根杜邦线 一片开发板 原理图 蜂鸣器长脚的为正,短脚为负极. 在蜂鸣器的底下也有标价正负. 接好线,选择喜欢的程序 1超级玛丽 扬 ...

  7. LINUX学习笔记共五部分

    LINUX学习笔记1--LINUX系统命令 1.         界面切换: a)         进入字符界面:按住ctrl+alt+F1: 1.         首先需要进入用户登入,输入用户名和 ...

  8. Linux学习笔记---移植官方linux步骤(二)

    目录 修改网络驱动 修改 LAN8720 的复位 以及网络时钟 引脚驱动 修改fec1和fec2节点pinctrl-0属性 修改LAN8720A的PHY地址 修改 fec_main.c 文件 配置 L ...

  9. linux学习笔记(6)磁盘管理

    linux学习笔记(6)磁盘管理 文章目录   6.1磁盘命名   6.2分区方式   6.3磁盘管理     6.3.1基本分区     6.3.2逻辑卷LVM     6.3.3交换分区管理Swa ...

最新文章

  1. python代码判断指定日期是当前年的第多少天
  2. DPDK架构与特点(转)
  3. 项目成本管理:制订项目成本管理计划
  4. 计算机三级信息安全技术考什么2019,2019计算机三级信息安全技术精品练习8
  5. 博士生的deadline血泪史,这是一份来自Nature的避坑指南
  6. 自定义一个月份选择器插件
  7. session和cookie的区别和联系,session的生命周期,多个服务部署时session管理
  8. 2021 年全球知名开源项目
  9. [导入]Nebula3学习笔记(3): Core Namespace
  10. jdk8 mysql安装教程_Linux系统:centos7下安装Jdk8、Tomcat8.5、MySQL5.7环境
  11. Adobe Flash CS4 序列号-Adobe Dreamweaver CS4 序列号
  12. AutoCAD2018_图层编辑
  13. matlab中probIdx = 2 2,利用1stOpt1.5 pro来进行多元非线性拟合
  14. Python while循环及用法详解
  15. XTUOJ-1104-素数个数
  16. 钢笔墨水能否代替打印机墨水_喷墨打印机该用染料墨水还是颜料墨水,有什么区别,你会选吗?...
  17. 云服务器延迟测试,云服务器网络延迟和丢包
  18. 新闻资讯APP开发成本需要多少钱?
  19. 人生四大铁:一起同过窗,一起扛过枪,一起嫖过娼,一起分过赃。
  20. 如何实现web系统检测浏览器类型的功能

热门文章

  1. 搭建学习linux的系统环境准备
  2. UVa 1326 - Jurassic Remains
  3. linux里shell中的test代表的意义
  4. Import declarations are not supported by current JavaScript version
  5. dubbo + zookeeper 简介和部署
  6. A. 抽象类和抽象方法(abstract)
  7. R语言计算相关矩阵然后将计算结果输出到CSV文件
  8. andriod环境搭建
  9. 域间套接字socketpair
  10. redis 公网 安全_最安全redis公网访问