uImage 대신 vmlinux를 사용할 수 있습니까? 이미지를 사용하고 BeagleBoard를 부팅하고

압축되지 않은 커널 이미지를 사용하고 BeagleBoard를 부팅하고 싶습니다. 일반적으로 uImage를 사용하여 압축 된 형식의 커널을 부팅합니다. 압축되지 않은 커널 이미지는 어떻게 사용합니까?



답변

내가 아는 한 U-Boot는 “원시”ELF 이미지 ( vmlinux)를 직접 부팅 할 수 없습니다 . 커널로드 주소를 설명하는 uImage압축 된 vmlinux메타 데이터와 몇 바이트의 메타 데이터가 포함 된 형식 으로 변환해야 합니다. U-Boot FAQ 2.19 는 생성 방법을 설명합니다 uImage. mkimageU-Boot 소스 트리 의 유틸리티를 사용하면 매우 간단 합니다.

 mkimage -A arm -O linux -T kernel -C gzip … -d vmlinux uImage

로드 주소를 나타내는 추가 매개 변수가 필요할 수 있습니다.


답변

 mkimage -A arm -O linux -T kernel -C gzip … -d vmlinux uImage

위 예제에서 gzipnone으로 변경 하면 u-Boot와 호환되는 비 압축 이미지가 생성됩니다.


답변

Buildroot를 사용하는 경우 uImage커널 출력 파일 ( BR2_LINUX_KERNEL_UIMAGE=y)을 선택하십시오 . 정상적으로 컴파일하면 Buildroot는 vmlinux중간 단계에서 파일을 생성합니다 . 그동안 vmlinux파일이 복사되지 않습니다 /output/images디렉토리 그것은에서 찾을 수 있습니다 ./output/build/linux-custom/(또는 실행 find . -name "vmlinux").


답변