피드로 돌아가기
Understanding the Linux Kernel: The Linux Kernel Startup
Hacker NewsHacker News
Infrastructure

Bare Metal에서 PID 1 생성까지의 6단계 커널 부팅 파이프라인 분석

Understanding the Linux Kernel: The Linux Kernel Startup

2026년 5월 14일38advanced

Context

전원 인가 후 하드웨어 제어권이 커널로 이전되는 초기 단계의 극심한 리소스 제약 상황 분석. 컴파일 시점의 가상 주소와 실제 로드되는 물리 주소 간의 불일치 해결 및 CPU 모드 전환의 복잡성을 극복해야 하는 과제 직면.

Technical Solution

  • bzImage 내 Decompressor를 통한 커널 압축 해제 및 KASLR 적용으로 메모리 효율성과 보안성 확보
  • Identity Mapping 기반의 임시 Page Table 구축을 통한 32-bit Protected Mode에서 64-bit Long Mode로의 CPU 상태 전이
  • GDT 및 IDT 조기 설치를 통한 메모리 세그먼트 관리 및 예외 처리 핸들러의 최소 실행 환경 구축
  • mm_core_init 및 Slab Cache 초기화를 통한 C 런타임 환경의 메모리 할당 체계 수립
  • kernel_init 및 kthreadd 생성을 통한 부팅 스레드에서 사용자 공간 프로세스 관리 체계로의 제어권 이양
  • initcalls 실행 및 Root Filesystem 마운트를 통한 하드웨어 추상화 계층 완성

1. 시스템 초기화 시 하드웨어 제약 사항(CPU Mode, Memory Map)을 최우선적으로 식별했는가

2. 핵심 기능 활성화 전 최소한의 안전장치(Stack Pointer, Exception Handler)가 확보되었는가

3. 가상-물리 주소 매핑 불일치 해결을 위한 전이 전략이 설계되었는가

4. 초기 부팅 스레드가 시스템 안정화 후 적절히 Idle Task로 전환되는 구조인가

원문 읽기