uImage 대신 vmlinux를 사용할 수 있습니까?


9

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


부트 로더로 U-Boot를 사용하고 있습니까?
Gilles 'SO- 악마 그만해'

예! uboot를 사용할 수 있습니까?
Sharanya

답변:


7

내가 아는 한 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

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


1
부팅하는 동안 uImage를 압축 해제하려면 시간이 걸립니다. 나는 그것을 최소화해야합니다. 그래서 압축되지 않은 원시 파일 vmlinux로 시도하지 않는 이유를 생각했습니다.
Sharanya

3
달성하려는 효과가 의도 한 것과 반대 일 수 있습니다. 압축 해제 시간은 일반적으로 플래시에서 데이터를 복사하는 시간보다 짧습니다.
Maciej Kucia

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

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


1

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.