부트로더란?

  • 시스템의 하드웨어를 초기화하고 운영체제의 커널을 메모리에 올려 실행시키는 시스템 프로그램
  • JTAG/BDM -> 부트로더의 디버깅 및 Writing을 도와주는 장비

 

 부트로더의 위치

  • 일반적으로 시스템 메모리의 물리 주소 0번지부터 위치
  • 롬, 플래시메모리, SRAM 등 정적인 메모리에 위치.

 

 부트로더의 기능

  • 메모리 초기화
  • 하드웨어 초기화
    • 직렬포트의 초기화
    • 네트워크초기화
    • 프로세서 속도, 인터럽트의 초기화
  • 커널과 램 디스크 적재: 커널과 램 디스크를 램에 적재하여 실행
  • 사용자 인터페이스 기능


부트로더의 특징
  • 하드웨어 의존성이 강하다.
  • 초기화코드는 대부분 어셈블리언어로 작성된다.
  • 프로그래머는 프로세서 구조, 특징, 사용법을 알고 있어야 한다.
    • clock, memory controller, UART, Ethernet, 기타 등등...


부트로더의 종류

  • U-Boot(Universal Bootloader)
    • PPCBoot와 ARMBoot 프로젝트 기반
  • LILO(Linux Loader)
  • GRUB(Grand Unfied Bootloader)
  • Loadlin
  • EtherBoot
  • Blob
    • ARM용 부트로더
  • PMON(PROM Monitor)
    • MIPS 보드용
  • RedBoot
    • RedHat에서 개발 및 배포
    • eCos 기반

 

+ Recent posts