2.3 Boot Image
2.3.1 Introduction
i.MX 6와 i.MX 7의 경우 부팅 이미지는 U-Boot 부트로더만 사용한다. i.MX 8와 i.MX 9 시리즈의 SoC의 경우, 부팅 이미지가 더 복잡하며 성공적인 부팅에 필요한 U-Boot와 다양한 펌웨어가 포함되어 있다. 이 장에서는 i.MX 8 시리즈 부트 로더의 추가 컴포넌트에 대해 설명한다.
i.MX 7ULP의 경우, Arm Cortex M-4에서 U-Boot 부트 로더를 부팅하기 때문에 부팅 파티션에 Arm Cortex M-4 SDK 플래시가 필요하지만, Arm Cortex M-4 코어가 있는 다른 i.MX 6와 i.MX 7는 성공적인 부팅을 위해 이것을 요구하지 않는다.
i.MX 8와 i.MX 9 부트로더는 github.com/nxp-imx/의 imx-mkimage에서 사용할 수 있는 imx-mkimage 도구를 사용하여 생성되며, 모든 i.MX 8 Series에는 github.com/nxp-imx/의 imx-atf에서 사용할 수 있는 Arm trusted firmware가 필요하다.
i.MX 부트 파티션을 만들기 위해 imx-mkimage 도구를 사용하는 방법에 대한 자세한 내용은 i.MX Linux User's Guide를 참조한다. 이 실행 도구에는 다음 컴포넌트가 필요하다.
i.MX 8M Quad, i.MX 8M Mini 그리고 i.MX 8M Nano의 경우, 다음 펌웨어가 필요하다:
- Synopys DDR 펌웨어
- Signed(서명된) HDMI 펌웨어 - DCSS 드라이버와 통합된다. HDMI 펌웨어는 i.MX 8M Quad 전용이다.
- Arm Trusted 펌웨어 - bl31-*soc*
i.MX 8QuadMax의 경우, 다음 펌웨어가 필요하다:
- System Controller Firmware (SCFW)
- Arm Trusted 펌웨어 - bl31-*soc*
- B0용 SECO 펌웨어 컨테이너 이미지(ahab-container.img)
i.MX 8QuadXPlus, i.MX 8DualX 그리고 i.M 8DualXLite의 경우, 다음 펌웨어가 필요하다:
- System Controller Firmware (SCFW)
- Arm Trusted 펌웨어 - bl31-*soc*
- SECO 펌웨어 컨테이너 이미지(ahab-container.img)
i.MX 93의 경우, 다음 펌웨어가 필요하다:
- Synopsys DDR 펌웨어
- Arm Trusted 펌웨어 - bl31-*soc*
- 센티넬 펌웨어 컨테이너
모든 i.MX 시리즈에는 Arm Trusted 펌웨어와 U-Boot가 필요하다. 또한 OP-TEE(모든 i.MX 6, 7 그리고 8M 제품군) 부팅으로 활성화된 OP-TEE를 지원하는 i.MX SoC에는 optee_ox 빌드에서 생성된 tee.bin이 필요하다.
Xen과 같은 Type 1 하이퍼바이저는 부트 로더의 일부이다. 그러나, Jailhouse와 kvm과 같은 Type 2 하이퍼바이저는 그렇지 않다.