WSL2中安装的ubuntu搭建tftp服务器uboot通过tftp下载

Windows中安装wsl2,wsl2里安装ubuntu。

1. Wsl启动后

1)Windows下ip

ipconfig
以太网适配器 vEthernet (WSL (Hyper-V firewall)):

连接特定的 DNS 后缀 . . . . . . . :
IPv4 地址 . . . . . . . . . . . . : 172.19.32.1
子网掩码 . . . . . . . . . . . . : 255.255.240.0
默认网关. . . . . . . . . . . . . :
该虚拟网卡在网络邻居里是看不到的。
ping 172.19.32.1

正在 Ping 172.19.32.1 具有 32 字节的数据:
来自 172.19.32.1 的回复: 字节=32 时间<1ms TTL=128
来自 172.19.32.1 的回复: 字节=32 时间<1ms TTL=128
来自 172.19.32.1 的回复: 字节=32 时间<1ms TTL=128
来自 172.19.32.1 的回复: 字节=32 时间<1ms TTL=128

2)Ubuntu下ip

ip addr show eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.19.37.221 netmask 255.255.240.0 broadcast 172.19.47.255
RX packets 56 bytes 10337 (10.3 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 18 bytes 1256 (1.2 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

ping 172.19.32.1
PING 172.19.32.1 (172.19.32.1) 56(84) bytes of data.
64 bytes from 172.19.32.1: icmp_seq=1 ttl=128 time=0.330 ms
64 bytes from 172.19.32.1: icmp_seq=2 ttl=128 time=0.298 ms
64 bytes from 172.19.32.1: icmp_seq=3 ttl=128 time=0.383 ms
64 bytes from 172.19.32.1: icmp_seq=4 ttl=128 time=0.351 ms
64 bytes from 172.19.32.1: icmp_seq=5 ttl=128 time=0.286 ms

2. 分析

1)把WSL的虚拟交换机桥接到物理网卡上

WSL的虚拟交换机连接到物理网卡
在windows搜索框中搜索“Hyper-V 管理器 ”,点击虚拟交换机,把内部网络改为外部网络。
在这里插入图片描述

在这里插入图片描述

2)ubuntu设置静态IP
#!/bin/bash
# 清空现有 IP 配置
sudo ip addr flush dev eth0
# 设置静态 IP 和子网掩码
sudo ip addr add 192.168.32.100/24 dev eth0
# 设置默认网关(通常为路由器 IP)
sudo ip route add default via 192.168.32.1

保存并退出(Ctrl+OEnterCtrl+X)。

步骤 2:赋予脚本执行权限
sudo chmod +x /usr/local/bin/set_static_ip.sh
步骤 3:设置脚本开机自动运行

编辑 ~/.bashrc 或全局配置文件 /etc/profile

echo "/usr/local/bin/set_static_ip.sh" >> ~/.bashrc
步骤 4:立即执行脚本
source ~/.bashrc
4. 验证静态 IP
ip addr show eth0 | grep "inet "
# 应输出类似:inet 192.168.32.100/24 scope global eth0

以下脚本待测试

# 创建脚本
sudo tee /usr/local/bin/set_static_ip.sh << 'EOF'
#!/bin/bash
sudo ip addr flush dev eth0
sudo ip addr add 192.168.32.100/24 dev eth0
sudo ip route add default via 192.168.32.1
EOF# 设置权限并添加到启动项
sudo chmod +x /usr/local/bin/set_static_ip.sh
echo "/usr/local/bin/set_static_ip.sh" >> ~/.bashrc# 立即生效
source ~/.bashrc

3. Ubuntu搭建tftp服务器

tftp 命令的作用和 nfs 命令一样,都是用于通过网络下载东西到 DRAM 中,只是 tftp 命令使用的 TFTP 协议, Ubuntu 主机作为 TFTP 服务器。因此需要在 Ubuntu 上搭建 TFTP 服务器,需要安装 tftp-hpa 和 tftpd-hpa,命令如下

sudo apt-get install tftp-hpa tftpd-hpa 
sudo apt-get install xinetd 

和 NFS 一样, TFTP 也需要一个文件夹来存放文件,在用户目录下新建一个目录,/home/xxx/tftp ,xxx为用户名,命令如下

mkdir tftp 
chmod 777 tftp 

新建文件夹/etc/xinetd.d,

sudo mkdir /etc/xinetd.d

新建文件/etc/xinetd.d/tftp

sudo vi /etc/xinetd.d/tftp
server tftp
{
socket_type = dgram                                                                                                     
protocol = udp
wait = yes                                                                                                              
user = root                                                                                                             
server = /usr/sbin/in.tftpd
server_args = -s /home/xxx/tftp/
disable = no
per_source = 11
cps = 100 2                                                                                                             
flags = IPv4                                                                                                            
} 

:wq保存退出,:q仅退出
完了以后启动 tftp 服务,命令如下:

sudo service tftpd-hpa start 

打开/etc/default/tftpd-hpa 文件 ,修改

sudo vi /etc/default/tftpd-hpa
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/home/xxx/tftp"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="-l -c -s"

TFTP_DIRECTORY 就是我们上面创建的 tftp 文件夹目录,以后我们就将所有需要通过TFTP 传输的文件都放到这个文件夹里面,并且要给予这些文件相应的权限。
最后输入如下命令, 重启 tftp 服务器:

sudo service tftpd-hpa restart 

tftp 服务器已经搭建好了,接下来就是使用了。将 zImage 镜像文件拷贝到 tftp文件夹中,并且给予 zImage 相应的权限,命令如下:

cp zImage /home/xxx/tftp/
cd /home/xxx/tftp/
chmod 777 zImage 

4. uboot设置ip

修改环境变量

setenv ipaddr 192.168.32.50 
setenv ethaddr 00:04:9f:04:d2:35 
setenv gatewayip 192.168.32.1 
setenv netmask 255.255.255.0 
setenv serverip 192.168.32.100 
saveenv 

查看环境变量

print

只能在 uboot 中 ping 其他的机器,其他机器不能 ping uboot,因为 uboot 没有对 ping命令做处理,如果用其他的机器 ping uboot 的话会失败!

=> ping 192.168.32.100
Using FEC1 device
host 192.168.32.100 is alive

5. Uboot中通过tftp下载镜像

tftp 命令不需要输入文件在 Ubuntu 中的完整路径,只需要输入文件名即可。比如我们现在将 tftp文件夹里面的 zImage 文件下载到开发板 DRAM 的 0X80800000 地址处,命令如下

tftp 80800000 zImage 

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/69959.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一、TensorFlow的建模流程

1. 数据准备与预处理&#xff1a; 加载数据&#xff1a;使用内置数据集或自定义数据。 预处理&#xff1a;归一化、调整维度、数据增强。 划分数据集&#xff1a;训练集、验证集、测试集。 转换为Dataset对象&#xff1a;利用tf.data优化数据流水线。 import tensorflow a…

软件工程概论试题五

一、多选 1.好的软件的基本属性包括()。 A. 效率 B. 可依赖性和信息安全性 C. 可维护性 D.可接受性 正答&#xff1a;ABCD 2.软件工程的三要素是什么()? A. 结构化 B. 工具 C.面向对象 D.数据流! E.方法 F.过程 正答&#xff1a;BEF 3.下面中英文术语对照哪些是正确的、且是属…

问题的价值 ( Value of Question ) 公式

一、什么是问题的价值 我们的人生、工作的期间、瞬息万变的商业环境中&#xff0c;我们必然会面对很多问题&#xff0c;也会提出很多问题。 但这些问题是否具有回答的 价值&#xff0c;应该如何 衡量 呢&#xff1f; 简单如&#xff0c;女朋友问今晚应该吃什么、世界如何才能…

一文了解阿里的 Qwen2.5 模型

最近被DeepSeek刷屏了&#xff0c;但是在之外阿里在2025年1月28日推出了Qwen 2.5 Max模型。 Qwen2.5-Max 的特点&#xff1a;大规模的 MoE 模型&#xff0c;预训练于超 20 万亿 tokens&#xff0c;并经过 SFT 和 RLHF 后训练。 性能表现&#xff1a;在多个基准测试中与领先模型…

基于Django的Boss直聘IT岗位可视化分析系统的设计与实现

【Django】基于Django的Boss直聘IT岗位可视化分析系统的设计与实现&#xff08;完整系统源码开发笔记详细部署教程&#xff09;✅ 目录 一、项目简介二、项目界面展示三、项目视频展示 一、项目简介 该系统采用Python作为主要开发语言&#xff0c;利用Django这一高效、安全的W…

Hive:复杂数据类型之Map函数

Map函数 是Hive里面的一种复杂数据类型, 用于存储键值对集合。Map中的键和值可以是基础类型或复合类型&#xff0c;这使得Map在处理需要关联存储信息的数据时非常有用。 定义map时,需声明2个属性: key 和 value , map中是 key value 组成一个元素 key-value, key必须为原始类…

计算机毕业设计Python动漫推荐系统 漫画推荐系统 动漫视频推荐系统 机器学习 bilibili动漫爬虫 数据可视化 数据分析 大数据毕业设计

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…

2025年02月02日Github流行趋势

项目名称&#xff1a;oumi 项目地址url&#xff1a;https://github.com/oumi-ai/oumi 项目语言&#xff1a;Python 历史star数&#xff1a;1416 今日star数&#xff1a;205 项目维护者&#xff1a;xrdaukar, oelachqar, taenin, wizeng23, kaisopos 项目简介&#xff1a;构建最…

谭浩强C语言程序设计(3) 7章

1、递归实现N的阶乘 c复制 #include <cstdio> // 包含标准输入输出库// 计算n的阶乘 int total 0; // 定义全局变量total用于存储阶乘结果// 递归函数计算阶乘 int fac(int a){// 如果输入的数小于0&#xff0c;输出错误信息if (a < 0){printf("%d < 0,err…

python算法和数据结构刷题[2]:链表、队列、栈

链表 链表的节点定义&#xff1a; class Node():def __init__(self,item,nextNone):self.itemitemself.nextNone 删除节点&#xff1a; 删除节点前的节点的next指针指向删除节点的后一个节点 添加节点&#xff1a; 单链表 class Node():"""单链表的结点&quo…

网络工程师 (13)时间管理

一、定义与重要性 项目时间管理是指为确保项目按时完成而采取的一系列规划、安排和控制活动。它始于项目启动阶段&#xff0c;贯穿整个项目生命周期&#xff0c;直至项目结束。时间管理对于项目的成功至关重要&#xff0c;它有助于项目团队明确工作目标和时间节点&#xff0c;增…

2025.2.1——四、php_rce RCE漏洞|PHP框架

题目来源&#xff1a;攻防世界 php_rce 目录 一、打开靶机&#xff0c;整理信息 二、解题思路 step 1&#xff1a;PHP框架漏洞以及RCE漏洞信息 1.PHP常用框架 2.RCE远程命令执行 step 2&#xff1a;根据靶机提示&#xff0c;寻找版本漏洞 step 3&#xff1a;进行攻击…

记录 | 基于MaxKB的文字生成视频

目录 前言一、安装SDK二、创建视频函数库三、调试更新时间 前言 参考文章&#xff1a;如何利用智谱全模态免费模型&#xff0c;生成大家都喜欢的图、文、视并茂的文章&#xff01; 自己的感想 本文记录了创建文字生成视频的函数库的过程。如果想复现本文&#xff0c;需要你逐一…

Error: Expected a mutable image

你的函数用了不支持的图片格式比如我的人脸检测&#xff0c;本来要RGB565我却用JPEG所以报错

深度学习查漏补缺:1.梯度消失、梯度爆炸和残差块

一、梯度消失 梯度消失的根本原因在于 激活函数的性质和链式法则的计算&#xff1a; 激活函数的导数很小&#xff1a; 常见的激活函数&#xff08;例如 Sigmoid 和 Tanh&#xff09;在输入较大或较小时&#xff0c;输出趋于饱和&#xff08;Sigmoid 的输出趋于 0 或 1&#xf…

c++可变参数详解

目录 引言 库的基本功能 va_start 宏: va_arg 宏 va_end 宏 va_copy 宏 使用 处理可变参数代码 C11可变参数模板 基本概念 sizeof... 运算符 包扩展 引言 在C编程中&#xff0c;处理不确定数量的参数是一个常见的需求。为了支持这种需求&#xff0c;C标准库提供了 &…

【自学嵌入式(8)天气时钟:天气模块开发、主函数编写】

天气时钟&#xff1a;天气模块开发、主函数编写 I2C协议和SPI协议I2C&#xff08;Inter-Integrated Circuit&#xff09;SPI&#xff08;Serial Peripheral Interface&#xff09; 天气模块心知天气预报使用HTTPClient类介绍主要功能常用函数注意事项 JSON介绍deserializeJson函…

SpringBoot的配置(配置文件、加载顺序、配置原理)

文章目录 SpringBoot的配置(配置文件、加载顺序、配置原理)一、引言二、配置文件1、配置文件的类型1.1、配置文件的使用 2、多环境配置 三、加载顺序四、配置原理五、使用示例1、配置文件2、配置类3、控制器 六、总结 SpringBoot的配置(配置文件、加载顺序、配置原理) 一、引言…

政务行业审计文件大数据高速报送解决方案

随着信息技术的快速发展&#xff0c;电子政务迎来了新的升级浪潮。国家相继出台了一系列信息化发展战略规划&#xff0c;如《国家信息化发展战略纲要》、《“十三五”国家信息化规划》等&#xff0c;这些政策为政务信息化工作指明了方向。 然而&#xff0c;在实际操作中&#x…

GMSL 明星产品之 MAX96724

上一篇文章中&#xff0c;我们介绍了摄像头侧 GMSL 加串器 MAX96717. 今天我们来介绍下 GMSL 解串器明星产品 MAX96724&#xff1a; 可将四路 GMSL™2/1 输入转换为 1 路、2 路或 4 路 MIPI D-PHY 或 C-PHY 输出。该器件支持通过符合 GMSL 通道规范的 50Ω 同轴电缆或 100Ω 屏…