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 쉘을 사용하여 SD 카드나 네트워크에서 uImage를 원하는 곳 어디든 로드할 수 있습니다. 그렇다면 이는 명령을 실행할 때 bootmu-boot 프로그램이 uImage의 커널 이미지를 0x20008000으로 재배치한다는 의미입니까? 이 정보를 찾기가 어렵습니다.

답변1

LOADADDR매개변수는 uImage 페이로드 자체가 메모리에 배치되는 위치입니다. 그 안에 싸인 zImage는 (보통) 필요에 따라 스스로 위치를 변경합니다.

관련 정보