linux-insides-ko
  • Introduction
  • Summary
    • 부팅
      • 부트로더에서 커널까지
      • First steps in the kernel setup code
      • Video mode initialization and transition to protected mode
      • Transition to 64-bit mode
      • Kernel decompression
      • Kernel load address randomization
    • 초기화
      • First steps in the kernel
      • Early interrupts handler
      • Last preparations before the kernel entry point
      • Kernel entry point
      • Continue architecture-specific boot-time initializations
      • Architecture-specific initializations, again...
      • End of the architecture-specific initializations, almost...
      • Scheduler initialization
      • RCU initialization
      • End of initialization
    • 인터럽트
      • 서론
      • Start to dive into interrupts
      • Interrupt handlers
      • Initialization of non-early interrupt gates
      • Implementation of some exception handlers
      • Handling Non-Maskable interrupts
      • Dive into external hardware interrupts
      • Initialization of external hardware interrupts structures
      • Softirq, Tasklets and Workqueues
      • Last part
    • 시스템 콜
      • 서론
      • How the Linux kernel handles a system call
      • vsyscall and vDSO
      • How the Linux kernel runs a program
      • Implementation of the open system call
      • Limits on resources in Linux
    • 타이머와 시간 관리
      • 서론
      • Clocksource framework
      • The tick broadcast framework and dyntick
      • Introduction to timers
      • Clockevents framework
      • x86 related clock sources
      • Time related system calls
    • Synchronization primitives
      • Introduction to spinlocks
      • Queued spinlocks
      • Semaphores
      • Mutex
      • Reader/Writer semaphores
      • SeqLock
      • RCU
      • Lockdep
    • 메모리 관리
      • Memblock
      • Fixmaps and ioremap
      • kmemcheck
    • Cgroups
      • Introduction to Control Groups
    • SMP
    • Concepts
      • Per-CPU variables
      • Cpumasks
      • The initcall mechanism
      • Notification Chains
    • 데이터 구조
      • 더블 링크드 리스트
      • Radix tree
      • Bit arrays
    • 이론
      • 페이징
      • Elf64
      • Inline assembly
      • CPUID
      • MSR
    • Initial ram disk
      • initrd
    • Misc
      • Linux kernel development
      • How the kernel is compiled
      • Linkers
      • Program startup process in userspace
      • Write and Submit your first Linux kernel Patch
      • Data types in the kernel
    • 커널 구조
      • IDT
    • 유용한 링크
    • 기여자
    • 한국어 번역 기여자
Powered by GitBook
On this page
  1. Summary

초기화

PreviousKernel load address randomizationNextFirst steps in the kernel

Last updated 6 years ago

You will find here a couple of posts which describe the full cycle of kernel initialization from its first step after the kernel has been decompressed to the start of the first process run by the kernel itself.

Note That there will not be a description of the all kernel initialization steps. Here will be only generic kernel part, without interrupts handling, ACPI, and many other parts. All parts which I have missed, will be described in other chapters.

  • - describes first steps in the kernel.

  • - describes early interrupts initialization and early page fault handler.

  • - describes the last preparations before the call of the start_kernel.

  • - describes first steps in the kernel generic code.

  • - describes architecture-specific initialization.

  • - describes continue of the architecture-specific initialization process.

  • - describes the end of the setup_arch related stuff.

  • - describes preparation before scheduler initialization and initialization of it.

  • - describes the initialization of the .

  • - the last part about linux kernel initialization.

First steps after kernel decompression
Early interrupt and exception handling
Last preparations before the kernel entry point
Kernel entry point
Continue of architecture-specific initializations
Architecture-specific initializations, again...
The End of the architecture-specific initializations, almost...
Scheduler initialization
RCU initialization
RCU
End of the initialization