Skip to content

Latest commit

 

History

History
executable file
·
62 lines (42 loc) · 3.29 KB

File metadata and controls

executable file
·
62 lines (42 loc) · 3.29 KB

Overview

Notes on the Linux Kernel, Modules, and Device drivers

References

Books

YouTube

My Other Notes

Terminology and Concepts

Refer to my KernelGlosssaryConcept document.

Important Directories and Files

Refer to my separate KernelDirectoriesAndFiles document

Kernel Documentation

This section is a reference to the kernel documentation in the kernel source tree itself.

Subdirectory of Documentation Document Name Comment
/ index.rst Starting point Index to other documents
/process index.rst Links to docs on the process of developing for the kernel
/process howto.rst Good overview of the process of developing for the kernel

Interesting Kernel Code to Study

KEY

  • EBP - Early Boot Process
  • MOD - Module related
  • SCHED - Scheduler
Directory File Description
arch/x86/xen/ enlighten_pv.c EBP, _init "start the world", calls i386_start_kernel & x86_64_start_
arch/x86/kernel head32.c EBP, has i386_start_kernel, which calls /init/main.c/start_kernel
arch/x86/kernel head64.c EBP, has x86_64_start_kernel, which calls /init/main.c/start_kernel
arch/x86/boot main.c EBP, Real mode boot code, calls to protected mode at end
arch/x86/boot pm.c EBP, disables interrupts and switches to protected mode
arch/x86/include/uapi/asm bootparms.h EBP, header defining boot_parms struct
init main.c EBP, contains start_kernel, starts init
init initramefs.c EBP, load initramfs
intit do_mounts.c EBP, load ramdisk, mount & init root
kernel/sched core.c SCHED, Core kernel scheduler code and related syscalls
kernel module.c MOD, manages, loads, unloads modules