boot chain
비어 있는 RAM에서 커널까지 체인으로 이어진다
전원이 켜진 직후 CPU는 ROM의 펌웨어부터 실행하고, 단계별로 다음 실행 주체를 메모리에 올립니다.
출발점
RAM이 아니라 비휘발성 펌웨어 코드에서 시작한다.
전달 방식
각 단계가 다음 단계를 찾아 메모리에 올리고 실행권을 넘긴다.
진단 관점
멈춘 위치를 알면 펌웨어, 부트로더, 커널 중 원인을 좁힐 수 있다.
01
Reset vector
CPU가 하드웨어로 정해진 주소의 펌웨어 코드를 실행한다.
02
Firmware
BIOS나 UEFI가 하드웨어 점검과 부팅 장치 선택을 수행한다.
03
Bootloader
커널 이미지와 초기 램디스크를 찾아 메모리에 적재한다.
04
Kernel and init
커널이 장치를 초기화하고 첫 사용자 공간 프로세스를 시작한다.
단계 확인 신호 장애 힌트
Firmware POST, 장치 인식, 부트 순서 비프음, 로고 전 멈춤, 디스크 미인식
Bootloader 부팅 메뉴, 커널 선택, root 옵션 커널을 못 찾거나 잘못된 파티션을 가리킴
Kernel 드라이버 초기화, root mount, init 실행 kernel panic, root filesystem mount 실패
비휘발 시작
첫 코드는 전원이 꺼져도 남아 있어야 한다.
체인 로딩
각 단계는 다음 단계의 위치를 찾아 실행권을 넘긴다.
멈춘 위치
화면과 로그가 어느 단계까지 갔는지 먼저 본다.