
Estou aprendendo sobre o u-boot. usando o modelo qemu, eu poderia (usando qemu) carregar a imagem no local de memória que desejo e executar a inicialização do kernel usando booti addr
o comando. Como você sabe no arm64, não existe uImage.
Então, ao construir o kernel Linux para arm (32 bits), o que significa make LOADADDR=0x20008000 uImage
? Poderíamos carregar (do cartão SD ou da rede) o uImage em qualquer lugar que quisermos usando o shell u-boot de qualquer maneira. Então, isso significa que quando executamos bootm
o comando, o programa u-boot realoca a imagem do kernel dentro do uImage para 0x20008000? É difícil encontrar essas informações.
Responder1
O LOADADDR
parâmetro é onde a carga útil do uImage deve ser colocada na memória. O zImage que está dentro dele (normalmente) se encarregará de se realocar conforme necessário.