带有 u-boot 的 Raspberry Pi 4 tftp 无法工作

问题描述 投票:0回答:0

我想使用 yocto 和 u-boot 为 Raspberry Pi 4b 实现网络启动(通过 tftp)。我目前有带有嵌入式 u-boot 的工作映像,从 SD 卡启动时板会正常启动到登录提示,不会中断。

我想通过网络启动开发板 - 我在 uboot 中执行了以下命令:

env set ipaddr <IP>
env set serverip <SERVER_IP>
env set nfsroot /nfsroot
env set image Image.bin
env set fdt_file bcm.dtb
env set netload 'tftpboot ${loadaddr} ${image};tftpboot ${fdt_addr} ${fdt_file}'
env set netargs 'setenv bootargs 8250.nr_uarts=1 console=ttyS0,115200 rootwait rw root=/dev/nfs ip=${ipaddr} nfsroot=${serverip}:${nfsroot}'
env set netboot 'echo Booting from net ...;run netargs;run netload;booti ${loadaddr} - ${fdt_addr}'

我没有更改loadaddr或fdt_addr,它们保留默认值。

在下载并加载图像和设备树之后,我看到内核启动并执行初始化。 VFS也不抱怨 但是,在某些时候会显示以下日志并继续:

run netboot

据我所知,当我不尝试通过网络启动时,相同的图像和设备树工作正常 - 所以 SD 卡本身没问题。 SD卡上的devicetree和tftp文件夹中的devicetree也是一样的,用$cmp检查一下。

当我不填写 fdt_image 变量时,uboot 会加载一些默认图像,并且它也会正确加载(屏幕上有登录提示)

为什么SD卡初始化失败?我是否错过了一些内核命令行参数或类似的东西?

完整内核启动日志:

https://pastebin.com/afPsknXn

U-boot 环境:

https://pastebin.com/Z7zb66W2

raspberry-pi embedded-linux yocto u-boot
© www.soinside.com 2019 - 2024. All rights reserved.