기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.
요새 열혈로 공부중이라고 자부하는 컴공 학생입니다.
헌데 요새 공부하는대 머리가 복잡해서 여기다 끄적거려봅니다......
되도록이면 자세히 적어놨는대 혹시 틀렸다면 질타 부탁드리겠습니다. ㅠㅠ
bios시작
boot device를 찾는다.
MBR을 읽는다.
MBR안에 있는 부트로더를 실행시킨다.
부트로더가 커널과 initrd를 메모리에 적재 후 커널에게 제어권을 넘긴다.
커널은 initrd를 마운트 후에 initrd를 초기 램디스크로 사용을 한다.
커널은 initrd의 /linuxrc 를 실행시킨다. 그 이후로
initrd에서 boot device의 루트파일시스템을 마운트 후에
initrd에서의 일이 끝나면 커널은 boot device의 루트 파일 시스템을 마운트 했다고 생각하고
initrd를 언마운트 후에 boot device의 루트파일시스템의 /sbin/init를 실행시킨다.
그 이후에 커널은 나머지 유저 래밸 부트 과정을 진행한다.
x86기반의 임베디드 시스템이나 PC용 리눅스에는 말씀하신 과정이 맞습니다.
ARM/PPC/MIPS/등등 일반적인 임베디드 시스템은 BIOS를 이용하지 않고 바로 부트로더로 진입한다고 보시면 됩니다. 부팅되는 저장 장치가 MBR이라는 개념을 지원할 수도 있고, 아닐수도 있다는 것도 알아 두시고요.