이미지 대 zImage 대 uImage


86

그들 사이의 차이점은 무엇입니까?

나는 u-boot에 uImage 형식의 커널이 필요하다는 것을 알고 있습니다.

내가 사용하는 시스템은 1 단계 로더에서 처음 부팅 한 다음 u-boot를 호출합니다. u-boot를 버리고 1 단계 로더에서 직접 부팅하고 싶습니다. 어떤 유형의 커널 이미지를 사용해야합니까?


Electronics.stackexchange.com/questions/106958/… 이 맥락에서 저를 도와 줄 수 있습니까?
user3217310 2014

문제는 BOOT.BIN 파일을 만드는 동안 따르는 방법에 관한 것 같습니다. 나는 또한 ZedBoard를 사용하지만 그런 문제에 직면하지 않았습니다.
yildizabdullah 2014

네, 잘못된 버전의 u-boot.elf를 사용하여 BOOT.bin을 생성했습니다
user3217310 2014

답변:


119

그들 사이의 차이점은 무엇입니까?

이미지 : 일반 Linux 커널 이진 이미지 파일.

zImage : 자동 압축 해제되는 Linux 커널 이미지의 압축 된 버전입니다.

uImage : OS 유형 및 로더 정보를 포함 하는 U-Boot 래퍼 ( mkimage 유틸리티에 의해 설치됨)가있는 이미지 파일입니다 .
매우 일반적인 관행 (예 : 일반적인 Linux 커널 Makefile)은 zImage 파일을 사용하는 것입니다. zImage 파일은 자동 압축 풀기 (즉, 외부 압축 해제 기가 필요 없음)이므로 래퍼는이 커널이 실제로는 "압축되지 않음"임을 나타냅니다.


U-Boot의 작성자 / 관리자는 uImage 내에서 zImage를 사용하는 (광범위한) 사용을 의심스러운 것으로 간주합니다.

사실 uImage 내에서 zImage를 사용하는 것은 꽤 어리석은 일입니다. 일반 (비 압축) 커널 이미지를 사용하고 gzip 만 사용하여 압축 한 다음 mkimage의 poayload로 사용하는 것이 훨씬 좋습니다. 이런 식으로 U-Boot는 각 커널 이미지에 또 다른 압축 해제기를 포함하는 대신 압축 해제를 수행합니다.

( https://lists.yoctoproject.org/pipermail/yocto/2013-October/016778.html 에서 인용 )


어떤 유형의 커널 이미지를 사용해야합니까?

프로그래밍하려는 모든 것을 선택할 수 있습니다.
저장 용량을 절약하려면 압축되지 않은 이미지보다 압축 된 이미지를 선택해야합니다.
커널 (아마도 Linux 커널)을 실행하려면 커널 이미지를 메모리에로드하는 것 이상이 필요합니다. 아키텍처 (예 : ARM) 및 Linux 커널 버전 (예 : DTB 포함 또는 제외)에 따라 커널을 위해 준비해야하는 레지스터와 메모리 버퍼가 있습니다. 어떤 경우에는 복제해야하는 U-Boot가 수행 한 하드웨어 초기화도있었습니다.

추가

나는 u-boot에 uImage 형식의 커널이 필요하다는 것을 알고 있습니다.

이것은 bootm 명령 만있는 모든 버전의 U-Boot에 대해 정확합니다 .
그러나 최신 버전의 U-Boot 에는 zImage를 부팅 할 수 있는 bootz 명령이 있을 수도 있습니다 .


1
내 이해가 안되는 것은 zImage = 압축 된 이미지 uImage = 이미지 + uBoot 래퍼, 내가 틀렸다면 수정하세요. uBoot 래퍼에는 uBoot 헤더와 부팅 장치로드 주소, 진입 점과 같은 추가 정보가 포함되어 있지만 전체를 보여주는 참조를 찾을 수 없습니다. uImage의 형식 수 해당에 링크를 공유하시기 바랍니다
Mouin

의견을 보내 주셔서 감사 합니다 . uImage 헤더 형식에 대한 리소스를 찾았습니다 . 내가 이해하지 못한 것은 : 1- 어디서로드 주소 (부팅 장치로드 주소)와 uImage의 진입 점 (헤더에 존재하지 않음)을 찾을 수 있습니까? 2- zImage에 이러한 정보가 포함되어 있습니까 (로드 주소 및 진입 점), 이것이 내가 zImage와 uImage의 형식에 대해 묻는 이유입니다
Mouin

"내가 이해하지 못한 것 ..." -의견으로 토론을 시작하지 마십시오. 새 질문을 게시하십시오.
톱밥

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