我正在学习u-boot。使用 qemu 模型,我可以(使用 qemu)将图像加载到我想要的内存位置,并且可以使用booti addr
命令运行内核启动。如您所知,在 arm64 中,没有 uImage。
那么,在为arm(32位)构建linux内核时,是什么make LOADADDR=0x20008000 uImage
意思呢?无论如何,我们可以使用 u-boot shell 在任何我们想要的地方加载(从 SD 卡或网络)uImage。那么,是不是说当我们运行bootm
命令时,u-boot程序将uImage里面的内核镜像重定位到了0x20008000呢?很难找到这些信息。
该
LOADADDR
参数是将 uImage 有效负载本身放置在内存中的位置。包裹在其中的 zImage(通常)然后会根据需要自行重新定位。