【系统移植】uboot 通过 NFS 加载根文件系统(一) —— 网络环境配置

news/2024/10/18 9:22:09/

前面试过了SD卡烧录根文件系统,然后借助环境变量 bootargs 来加载SD卡中的根文件系统,但是实际开发需要经常对文件做增删改等操作,所以将根文件系统放在SD上不大合适。

因此,最常用的做法是把根文件系统放在NFS服务端(虚拟机上),开发板通过网络连接到NFS,这样的话,开发板和虚拟机可以共享根文件系统。


         目录

1、配置思路

2、开发板配置

查看电脑主机所在网段

修改环境变量

3、虚拟机配置

设为桥接模式

桥接到以太网网卡

 配置虚拟机IP

4、网络测试


1、配置思路

让开发板可以连接到虚拟机的关键:保证三台设备(开发板、电脑主机、虚拟机)在同一个网段

假设开发板和电脑主机之间使用网口连接(有线连接),这样的话就相当于电脑主机的以太网网卡与开发板的eth0网卡建立了连接。

虚拟机设置为桥接模式,此时虚拟机默认连接的是 VMnet0 虚拟网卡。这样很显然是无法和开发板进行通信的,发给VMnet0网卡的东西又不会转到以太网网卡。

因此,我们要在“虚拟网络编辑器”中,将虚拟机的网卡桥接到以太网网卡。

 

2、开发板配置

假设使用的 eth0 网卡,为了保证三个设备在同一个网段,我们以电脑主机的以太网网段为核心开始配置。

查看电脑主机所在网段

按 win + R,输入cmd,查询网络信息使用的命令是 ipconfig

 

从上图我们可以大致推断出,以太网所属网段是 169.254.0.0 ~ 169.254.255.255,子网掩码是 255.255.0.0。因此我们给开发板和虚拟机的IP地址暂定为:

  • 开发板
    • IP:169.254.162.163
    • 子网掩码:255.255.0.0
    • 网关:169.254.162.1
  • 虚拟机
    • IP:169.254.162.189
    • 子网掩码:255.255.0.0
    • 网关:169.254.162.1

修改环境变量

为了后续方便,开发板在配置的时候,除了自身IP外,还需要额外加入虚拟机相关的网络信息:

环境变量含义
ipaddr开发板IP
netmask子网掩码
gateway网关
serverip虚拟机IP
ethaddr虚拟机MAC地址
# -------------------------- 开发板IP -------------------------
=> setenv ipaddr 169.254.162.163
=> saveenv 
Saving Environment to MMC...
Writing to MMC(0)... done# ----------------------- 开发板子网掩码 -----------------------
=> setenv netmask 255.255.0.0
=> saveenv 
Saving Environment to MMC...
Writing to MMC(0)... done# ------------------------- 开发板网关--------------------------
=> setenv gateway 169.254.162.1
=> saveenv 
Saving Environment to MMC...
Writing to MMC(0)... done# -------------------------- 虚拟机IP -------------------------
=> setenv serverip 169.254.162.189
=> saveenv 
Saving Environment to MMC...
Writing to MMC(0)... done# -------------------------- 虚拟机MAC -------------------------
=> setenv ethaddr 00:0c:29:d2:f9:83
=> saveenv 
Saving Environment to MMC...
Writing to MMC(0)... done

 

3、虚拟机配置

最开始说到,虚拟机设为桥接模式,由于桥接模式下默认连接的是 VMnet0 网卡,所以我们要先修改“虚拟网络编辑器”,桥接到以太网网卡。

设为桥接模式

桥接到以太网网卡

点击“虚拟网络编辑器”

选择更改设置,此时我们可以看到,VMnet0 是桥接模式所使用的网卡,此时的连接状态是自动连接,即默认连接到 VMnet0 网卡。

找到你的以太网网卡, 然后点击 “应用 —— 确认 ”

 配置虚拟机IP

现在已经让你的虚拟机连接到了你的以太网网卡,剩下的就是为你的虚拟机分配IP,配置方法可以是图形化界面配置,也可以是通过配置文件配置。这里我们选择图形化界面配置。

 一切按照先前计划好的进行配置

4、网络测试

最后就是网络测试了,首先我们检查一下开发板是否可以ping通电脑主机

然后再检查一下是否可以ping 通虚拟机 

大功告成!


http://www.ppmy.cn/news/80292.html

相关文章

本地训练中文LLaMA模型实战教程,民间羊驼模型,24G显存盘它!

羊驼实战系列索引 博文1:本地部署中文LLaMA模型实战教程,民间羊驼模型 博文2:本地训练中文LLaMA模型实战教程,民间羊驼模型(本博客) 博文3:精调训练中文LLaMA模型实战教程,民间羊驼模型(马上发布) 简介 在学习完上篇【1本地部署中文LLaMA模型实战教程,民间羊驼模…

C++——深度优先搜索

深度优先搜索(Depth-First Search,DFS)是一种用于遍历或搜索图或树的算法。它从起始节点开始,沿着一条路径尽可能深地探索,直到无法继续或达到目标节点,然后回溯到前一节点,继续探索其他路径&am…

Qt音视频开发41-文件推流(支持网页和播放器播放并切换进度)

一、前言 本功能最初也是有一些人提过类似的需求,就是能不能将本地的音视频文件,通过纯Qt程序推流出去,然后用户可以直接在网页上播放,也可以用各种播放器播放,然后还可以任意切换播放进度,其实说白了就是个文件服务器,用户通过网络地址访问以后,告诉对方当前是媒体文…

LeetCode笔记:Weekly Contest 346

LeetCode笔记:Weekly Contest 346 1. 题目一 1. 解题思路2. 代码实现 2. 题目二 1. 解题思路2. 代码实现 3. 题目三 1. 解题思路2. 代码实现 4. 题目四 比赛链接:https://leetcode.com/contest/weekly-contest-346 1. 题目一 给出题目一的试题链接如下…

实现高效Web应用:负载均衡SLB和弹性伸缩AS的原理与实践

在前面的文章中,我们了解了负载均衡SLB和弹性伸缩AS的基本概念和应用场景。在本篇文章中,我们将深入探讨这些技术的特点,以及它们在实际应用中的优势和局限性。 一、负载均衡SLB的特点 负载均衡SLB是一种基于网络的负载均衡技术。它通过将网络…

mybatis中在xml文件中通用查询结果列如何使用

mybatis中在xml文件中通用查询结果列如何使用 在 MyBatis 中,可以使用通用查询结果列(ResultMap)来映射查询结果到对象或者其他数据结构。通用查询结果列可以在 XML 文件中定义,并在 SQL 映射语句中引用。 下面是一个使用通用查…

Vue(Vuex插件)

一、Vuex的介绍 1. 概念 专门在Vue中实现集中式状态数据管理的一个Vue插件,对Vue的应用中多个组件的共享状态进行集中式的管理(读/写),也是一种组件间通信的方式,且适用于任意组件间通信。 2. 了解vuex地址 https://github.com/vuejs/vuexh…

让你不再好奇怎么给小说配音

你是否曾经想象过,当你在读小说时,你可以听到人物的声音,感受到情感和气氛的变化?有声书的出现已经让这一切成为可能。然而,如何为小说创造生动的配音效果却是一个需要仔细考虑的问题。如果你还不知道怎么给小说配音的…