
Estoy aprendiendo sobre u-boot. Usando el modelo qemu, podría (usando qemu) cargar la imagen en la ubicación de memoria que quiero y podría ejecutar el arranque del kernel usando booti addr
el comando. Como sabes, en arm64 no existe uImage.
Entonces, al compilar el kernel de Linux para arm (32 bits), ¿qué significa make LOADADDR=0x20008000 uImage
? De todos modos, podríamos cargar (desde la tarjeta SD o la red) uImage en cualquier lugar que queramos usando u-boot shell. Entonces, ¿significa que cuando ejecutamos bootm
el comando, el programa u-boot reubica la imagen del kernel dentro de uImage a 0x20008000? Es difícil encontrar esta información.
Respuesta1
El LOADADDR
parámetro es donde se colocará la carga útil de uImage en la memoria. La zImage que está envuelta dentro de ella (normalmente) se encargará de reubicarse según sea necesario.