You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Raspberry Pi 4配合udpsvd/QEMU的TFTP网络启动故障排查问询

问题排查方案

  • 校验文件传输完整性:手动从udpsvd服务下载全部启动相关文件(包括bootcode.bin、start.elf、config.txt、内核镜像、dtb、initramfs镜像),和Ubuntu环境下的同源文件做MD5/SHA256哈希对比。部分低版本busybox自带的udpsvd/tftpd存在大文件传输块序号溢出bug,会出现日志显示传输成功、但实际文件末尾被截断的问题。
  • 调整TFTP块大小协商配置:树莓派4 PXE启动默认会尝试协商TFTP blksize(块大小)参数,精简版tftpd普遍存在对该协商参数支持不完善的问题,会导致固件在文件传输完成后校验失败无输出。可修改udpsvd启动参数禁用块大小协商测试:
    udpsvd -vE 192.168.178.59 69 tftpd -r blksize /srv/tftp/
    
    也可直接替换为tftp-hpa等完整版TFTP服务端验证问题。
  • 抓包排查网络异常:在宿主机tap0接口抓包,过滤69(TFTP)、67/68(DHCP)端口流量:
    tcpdump -i tap0 port 69 or port 67 or port 68 -w rpi_boot.pcap
    
    对比TFTP传输完成后的流量:如果树莓派没有发出后续请求,说明固件本地校验失败;如果有请求但无响应,排查QEMU桥接网络的转发规则是否有遗漏。
  • 打开树莓派串口输出定位卡滞阶段:在config.txt中添加enable_uart=1,接入串口调试工具查看完整启动日志,确认卡滞是发生在固件加载内核阶段、还是内核启动挂载根文件系统阶段,排除config.txt中initramfs路径配置错误、内核启动参数指定了不存在的本地存储等问题。
  • 检查文件权限配置:确认/srv/tftp目录下所有启动文件权限为全局可读,部分版本tftpd遇到无权限读取的文件时,会返回空内容但日志仍然标记为传输成功,可在QEMU系统本地用tftp客户端自测下载验证文件大小是否匹配。

内容的提问来源于stack exchange,提问作者wolfbiker1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 19:42:02