부트로더

EEEFFEE·2024년 1월 4일
0

임베디드 리눅스

목록 보기
1/14

24.01.02 최초 작성

1. 임베디드 시스템의 부트로더

  • HW 초기화 수행
  • OS와 설정 파일들 플래시 메모리로부터 메모리에 로딩
  • Secure Boot
  • 프로세서에 내장된 ROM에 코드 존재

1.1 부팅 순서

  1. first stage bootloaderSOC내부의 SRAM에 로드

  2. SRAM에 로드된 코드를 바탕으로 DDR memory 초기화

  3. 초기화된 DDR memorysecond stage bootloader로드

    3.1 부트로더에서 Trusted Firmware (EL3)로 점프하면 secure모드로 진입해 커널 로딩

  4. DDR memory에서 실행된 코드가 kernel, root file system, firmwareDDR memory에 로드

1.2 부트로더 리커버리

1.2.1 first stage bootloader의 경우

  • 복구모드로 진입해 연결된 usb장치로부터 적절한 부트로더를 가져와 first stage bootloader복구

1.2.2 kernel, root file system 등의 경우

  • 따로 존재하는 Recovery boot영역의 코드를 통해 kernel, root file system 복구

2. Trusted OS

  • secure mode에서 동작하는 OS

  • HW에서 normal worldsecure mode를 나눔

  • OP-TEE : 오픈소스로 공개된 Trusted OS

2.1 Trusted OS의 부팅 과정

2.2 raspberrypi의 Trusted OS 부팅 설정

  • /buildroot/output/images/rpi-firmwareconfig.txt
    armstub=(firmware 추가)

3. 부트로더 종류

  • uboot
  • barebox
  • SOC 제조사에서 제작

0개의 댓글

관련 채용 정보