제조사별 상세 부팅 과정
사실 이전에 작성한 부팅 프로세스에서는 일반적인 안드로이드 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 가 동작하는 구조이다.
Comments