Linux核心make指令中的LOADADDR=0x20008000是什麼意思?

Linux核心make指令中的LOADADDR=0x20008000是什麼意思?

我正在學習u-boot。使用 qemu 模型,我可以(使用 qemu)將映像載入到我想要的記憶體位置,並且可以使用booti addr命令運行內核引導。如你所知,在arm64中,沒有uImage。
那麼,在為arm(32位元)建構linux核心時,是什麼make LOADADDR=0x20008000 uImage意思呢?無論如何,我們可以使用 u-boot shell 將 uImage 載入(從 SD 卡或網路)到任何我們想要的地方。那麼,這是否意味著當我們執行bootm命令時,u-boot程式將uImage中的核心映像重新定位到0x20008000?很難找到這些資訊。

答案1

LOADADDR參數是 uImage 有效負載本身在記憶體中的放置位置。然後,包裹在其中的 zImage(通常)將根據需要重新定位自身。

相關內容