
Я изучаю 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, который обернут внутри него (обычно), затем позаботится о своем перемещении по мере необходимости.