
u-boot에 대해 배우고 있어요. qemu 모델을 사용하면 (qemu를 사용하여) 원하는 메모리 위치에 이미지를 로드할 수 있고 booti addr
명령을 사용하여 커널 부팅을 실행할 수 있습니다. arm64에는 아시다시피 uImage가 없습니다.
그렇다면 arm(32비트)용 리눅스 커널을 빌드한다는 것은 무슨 make LOADADDR=0x20008000 uImage
뜻일까요? 어쨌든 u-boot 쉘을 사용하여 원하는 곳 어디에서나 uImage를 SD 카드나 네트워크에서 로드할 수 있습니다. 그렇다면 bootm
명령을 실행할 때 u-boot 프로그램이 uImage 내부의 커널 이미지를 0x20008000으로 재배치한다는 뜻인가요 ? 이런 정보를 찾기가 어렵습니다.
답변1
매개 LOADADDR
변수는 uImage 페이로드 자체가 메모리에 배치되는 위치입니다. (일반적으로) 내부에 포함된 zImage는 필요에 따라 자체 재배치를 처리합니다.