Что означает LOADADDR=0x20008000 в команде make ядра Linux?

Что означает LOADADDR=0x20008000 в команде make ядра Linux?

Я изучаю u-boot. Используя модель qemu, я мог бы (используя qemu) загрузить образ в нужное мне место памяти и запустить загрузку ядра с помощью booti addrкоманды. Как вы знаете, в arm64 нет uImage.
Затем, при сборке ядра Linux для arm (32 бит), что это make LOADADDR=0x20008000 uImageзначит? Мы могли бы загрузить (с SD-карты или сети) uImage в любое место, куда захотим, используя оболочку u-boot в любом случае. Затем, означает ли это, что когда мы запускаем bootmкоманду, программа u-boot перемещает образ ядра внутри uImage в 0x20008000? Трудно найти эту информацию.

решение1

Параметр LOADADDR— это место, где сама полезная нагрузка uImage должна быть размещена в памяти. zImage, который обернут внутри него (обычно), затем позаботится о своем перемещении по мере необходимости.

Связанный контент