[Linux] 부트로더

꾸준희
|2018. 8. 21. 11:08
728x90
반응형





리눅스 부트로더란?



부트로더란 운영체제가 시작되기 전에 미리 실행되면서 커널이 올바르게 시동되기 위해 필요한 모든 작업을 마무리하고 최종적으로 운영체제를 시동시키기 위한 목적을 가진 프로그램이다.


즉, 시스템의 하드웨어를 초기화하고 운영체제의 커널을 메모리에 올려 실행시키는 시스템 프로그램이다. 


메모리, 하드웨어(네트워크, 프로세서 속도, 인터럽트), 코드, 데이터, 스텍 영역 설정 및 초기화, 커널 로더와 커널 이미지 로딩, 커널 로더를 실행하여 커널 이미지가 실행되도록 한다.







부트로더의 기능



- 메모리 초기화

- 하드웨어 초기화

- 직렬포트의 초기화

- 네트워크 초기화

- 프로세서 속도, 인터럽트의 초기화

- 커널과 램 디스크 적재 : 커널과 램 디스크를 램에 적재하여 실행

- 사용자 인터페이스 기능







부트로더의 특징



- 하드웨어 의존성이 강함

- 초기화 코드는 대부분 어셈블리 언어로 작성됨

- 프로그래머는 프로세서 구조, 특징, 사용법을 알고있어야함







부트로더의 종류



- U-Boot(Universal Bootloader)

- PPCBoot와 ARMBoot 프로젝트 기반

- 주로 PowerPC와 ARM 임베디드 시스템에서 사용되는 부트로더

- 오픈소스



- LILO(Linux Loader)

- 리눅스에서 사용되었음

- GRUB를 기본 부트로더로 사용하기 전까지 리눅스 배포판에서 사용되던 기본 부트로더



- GRUB(Grand Unfied Bootloader)

- GNU 프로젝트의 부트로더

- 현재 대부분의 리눅스 배포판에서 사용

- a.out 와 ELF 포맷 지원, BIOS에서 인식되는 모든 장치에서 액세스 가능



- ARMBOOT 

- StrongARM을 위한 공개 소스 펌웨어

- 다중형 플래시 메모리 지원

- tftp, PCMCIA CF 부트 등을 지원



- Loadlin



- EtherBoot



- Blob(Boot Loader Object)

- ARM용 부트로더

- 임베디드 리눅스 상에서 LILO와 같이 선택 부팅이 가능하도록 기능 제공

- 리눅스 커널 다운로드를 시리얼 케이블을 이용할 수 있도록 제공



- PMON(PROM Monitor)

- MIPS 보드용



- RedBoot

- RedHat에서 개발 및 배포

- eCos 기반 부트로더






참고자료 1 : http://thinkpro.tistory.com/14


참고자료 2 : https://m.blog.naver.com/PostView.nhn?blogId=neos_rtos&logNo=220152283698&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F

728x90
반응형

'Programming > Linux' 카테고리의 다른 글

[Embedded linux] VAB-630 보드 사양  (0) 2018.10.05
[Linux] dmesg 명령어  (1) 2018.08.21
[Linux] 커널 이미지  (0) 2018.08.05
[Embedded linux] timeconst.pl 에러 해결법  (2) 2018.08.05
[Embedded linux] 임베디드 리눅스 개념  (0) 2018.08.05