当前位置: 首页 > news >正文

关闭网桥的STP,解决RHEL10上qemu使用u-boot加载uImage自动加载失败的问题

1. 问题现象

在RHEL10上通过qemu使用u-boot的tftp自动加载uImage(第一次)会失败,失败后手动执行命令tftp 0x6003000 uImage;或者执行reset重启u-boot都可以加载成功。

2. 根本原因

(1) STP 协议导致网络延迟

  • STP 的工作机制
    当网桥 br0 启用 STP 时,端口需要经历 阻塞(Blocking)→ 侦听(Listening)→ 学习(Learning)→ 转发(Forwarding) 的状态转换,耗时 30~50 秒(传统 STP)。

    • 在此期间,网桥端口不转发数据包,导致 U-Boot 的 DHCP/TFTP 请求超时。

  • U-Boot 的自动加载流程
    bootcmd 可能在网桥端口尚未进入 Forwarding 状态时就尝试网络操作(如 tftp),导致失败。

(2) QEMU 虚拟网桥的模拟行为

  • QEMU 默认使用 用户模式网络(-net user 或 TAP 网桥(-net tap,若宿主机网桥 br0 启用了 STP,虚拟机的网络初始化可能受宿主机 STP 状态影响。

3. 解决方案

sudo nmcli connection modify br0 bridge.stp no

sudo nmcli connection reload

sudo nmcli connection up br0

4. 验证 STP 状态

nmcli -f bridge con show br0 | grep stp

输出应显示:

bridge.stp: no

相关文章:

  • RNN——循环神经网络
  • 基于YOLO与PySide6的道路缺陷检测系统(源码)
  • 数据库MySQL学习——day5(总结与复习实践)
  • AAAI2016论文 UCO: A Unified Cybersecurity Ontology
  • i18n-ai-translate开源程序,可以使用DeepSeek等模型将您的 i18nJSON翻译成任何语言
  • PyTorch作为深度学习框架在建筑行业的应用
  • pymongo功能整理与基础操作类
  • 力扣面试150题--合并两个有序链表和随机链表的复制
  • SpringBoot物资管理系统 | JavaWeb项目设计与实现
  • 04-谷粒商城笔记
  • 测试用例的设计
  • 迷宫问题演示
  • ShaderToy学习笔记 03.多个形状和旋转
  • ‌C/C++对时间的处理
  • Scratch——第19课 正话反说问题
  • 线程池(四):并发编程常见问题解析
  • QT6 源(52)篇二:存储 c 语言字符串的类 QByteArray 的使用举例,
  • 中美艺术教育深度融合,Glowstar与ACSDA在尔湾签署战略合作协议推动艺术发展
  • ShaderToy学习笔记 02.圆
  • JAVA多线程(8.0)
  • 【社论】用生态环境法典守护生态文明
  • 初中女生遭多人侵犯后,家属奔波三年要追责那个“案外”的生物学父亲
  • 84%白化!全球珊瑚正经历最严重最大范围白化现象
  • 冲击一英里4分钟大关,基普耶贡挑战女子中长跑极限
  • 长三角与粤港澳大湾区融合发展,无锡何以成为窗口?
  • 百年前的亚裔艺术家与巴黎