2007. 11. 28. 19:08

부트로더(Bootloader)



부트로더는 데스크톱의 BIOS와 비슷한 역할을 한다. 처음 전원을 이가하거나 하드웨어적으로 리셋을 시키면 부트로더는 시스템을 시작하기 위해 필요한 최소한의 하드웨어를 초기화 한다. 그리고난 후 메모리에 담겨져 있는 커널 이미지와 루트파일 시스템을 찾아서 RAM으로 복사를 하고 커널이미지를 위치로 옮겨 부팅을 하게 한다.

Windows CE에서의 부트로더도 다르지 않다.
부트로더(Bootloader)는 호스트에서 타겟(혹은 타겟 내의 저장공간)에서 메모리로 OS Image를 읽어들이는 역할을 한다.
간단히 말하자면, 호스트(개발 PC)에서 타겟장치(개발하는 보드)로 부팅시키고자 하는 이미지를 올리는 작업을 하는 녀석이다. 추가로 부트로더는 타겟 플랫폼의 디바이스를 초기화한다.

일반적으로 부트로더의 역할은 다음 세가지로 요약할 수 있다.
1. 타겟 플랫폼 디바이스를 초기화한다.

CPU를 사용가능한 환경으로 초기화 한다. CPU내의 MMU(Memory Management Unit)와 캐시 등을 활성화 하고, 리얼타임 클럭, 다운로드 경로로 사용될 하드웨어를 초기화 한다.

2. 부팅 과정을 통제(부팅과정 중 옵션을 사용)한다.

다운로드 경로(USB, 패러럴, 이더넷 등)을 선택
호스트에서 RAM으로 직접 다운로드
다운로드 하기 전에 사용될 메모리 진단
다운로드될 장소를 결정

3. Windows CE 이미지를 다운로드 하고 실행시킨다.

패러럴 포트, USB, 이더넷과 같은 비교적 전송속도가 빠른 경로를 사용해서 호스트에서 타겟 플랫폼으로 OS Image를 다운로드 시킨다.