我用 buildroot 构建了一个最小的 linux 系统来提供一些服务,比如 tftp 和其他东西。从那我想用initramfs通过网络启动我的rpi4。目前我从 ubuntu 虚拟机执行此操作,但占用空间有点太大。
来自主机的网络连接通过 qemu 的 tap0 接口桥接,因此系统在路由器中可见。为了服务 tftp,我使用 'udpsvd',所以,当 qemu 系统运行时,它看起来像这样:
udpsvd -vE 192.168.178.59 69 tftpd /srv/tftp/
尝试手动连接到此 tftp 服务器时,它可以下载文件。从那里启动 PI 时,我收到完全相同的输出,然后在 Ubuntu tftp 上执行它:
你可能想知道:它声称 start4.elf 或 recovery.elf 丢失了,但别担心,这个声明也出现在 ubuntu tftp 服务中,他抓住了 start.elf,大约 2 分钟后引导过程继续。
我的问题是,当下载引导文件时,qemu 变体卡住了引导(您可以在 udpsvd 日志中看到正在发生的事情并且文件已传输)。我的问题是,我该如何调试这个问题?来自 PI 的日志在两种变体中看起来相同,qemu tftp 正在工作,引导文件完全相同。如果您需要更多信息,请告诉我。