제조사별 상세 부팅 과정
2025년 1월 12일
사실 이전에 작성한 부팅 프로세스에서는 일반적인 안드로이드 OS 만 포함된 부팅 프로세스를 담았고, ARM에서 trustzone을 추가하면서 secure world를 초기화 하는 과정이 추가된다.
요즘은 ATF(Arm Trust Firmware)가 일반적인 기능이기 때문에 부팅프로세스가 조금 달라졌다.
ref #
이전 글. 안드로이드 부팅의 기본 단계
트러스트존 관련 설명
Mediatek BootROM 결함
https://www.lieberbiber.de/2015/07/05/mediatek-details-little-kernel/
미디어텍 #
미디어텍은 BootROM → Preloader → ATF → TEE, LK 순서로 부팅이 진행된다
- (1)~(3) Boot ROM의 bootcode가 실행되며, eMMC/UFS의 Preloader를 SRAM에 올려 실행시킨다.
- (4)~(5) Preloader는 DRAM을 초기화등의 작업 이후 eMMC/UFS의 ATF(Secure Monitor)를 DRAM에 올린다.
- (6)~(8) ATF는 EL3 레벨에서 보안 레지스터 등 TZ 하드웨어를 초기화하며 Normal World와 Secure World를 분리한다.
그리고 TEE OS를 로드(NAND → DRAM) 후 EL1 레벨로 넘어와 TEE OS를 부팅(TEE 초기화)하고 다시 EL3 ATF로 돌아오며,
LK를 로드(NAND → DRAM) 후 EL1에서 LK 를 부팅하며 제어권을 넘긴다. - (9)~ 이 이후는 기존 부팅 과정과 동일하다.
이후에는 Normal World 위주로 동작하면서 Secure World에서 노출시킨 API를 호출하면 Exception 을 통해 Secure World 의 TEE, TA 가 동작하는 구조이다.