Linux Kernel Notes
  • README
  • concepts
    • interrupts
    • syscalls
      • Implementation
      • Syscalls
      • Userspace from syscalls
      • vDSO and virtual syscalls
  • core-apis
    • core-apis
    • kobjects
    • core-utilities
      • Notification Mechanism
      • printk
      • Symbols and Assembler Notations
      • Workqueue
  • debugging-tracing
    • debugging
    • ebpf-tracing
    • finding-bugs
    • syzkaller
    • tracing
  • extras
    • rcu
  • implementations
    • pipes
  • lkmp
    • Prerequisites
    • Linux Kernel Mentorship
    • Setting up for kernel development
  • misc
    • Current
    • What is KABI or (Kernel ABI) ?
    • noinstr
    • this_cpu
  • subsystems
    • device-tree
      • Device Tree YAML Components
      • Testing yaml dtschemas
Powered by GitBook
On this page
  • Linux Kernel
  • Subsystems selected
  • Notes
  • Extras
  • Readings
Edit on GitHub

README

Nextconcepts

Last updated 1 year ago

Linux Kernel

For people who are very new to kernel and kernel development:

  • I will highly recommend you to first complete Labs and Readings together with a linux kernel book like .

  • This book goes into much details which is not needed, just sift through the chapters along with xv6 book in the MIT course.

  • Look into theory and complete the labs.

Once you are done with the course, you will have good background to explore the linux kernel source.

Subsystems selected

  1. Devicetree

  2. DRM (GPU)

  3. eBPF (Tracing)

  4. Bcachefs (Filesystem)

Notes

  • Kernel Concepts

    • Core Utilities

  • Kernel Subsystems

    • Devicetree

    • Graphics (TODO)

  • Implementations

    • Setting up the Kernel (TODO)

Extras

  • Kernel Boot Process (TODO)

Readings

Other readings are mentioned in the respective notes' README.md

(TODO)

(TODO)

(TODO)

(TODO)

(TODO)

(TODO)

Linux Kernel Development by Robert Love (3rd Edition)

Linux Device Drivers 3ed by Johnathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman

Understanding the Linux Kernel 3e: From I/O Ports to Process Management

Design of the UNIX Operating System by Maurice J. Bach (AT&T Bell Labs)

Debugging
Finding Bugs
Event tracing
eBPF tracing
Interrupts
Syscalls
Kernel Core APIs
Notification Mechanisms
Printk
Symbols and Assembler Notations
Workqueues
Kobjects
Devicetree Yamls
Testing yaml dtschemas
Pipes and Splices
Kernel Mentorship Program
Prerequisites
Syzkaller Notes
eBPF Tracing
RCU in Kernel
Amazon Link
Amazon Link
Amazon Link
Amazon Link
MIT 6.1810: Operating System Engineering
Understanding the Linux Kernel 3e: From I/O Ports to Process Management
Linux Kernel
Subsystems selected
Notes
Extras
Readings
Step 1 : Getting and understanding the logs
Step 2 : Debugging with GDB and QEMU/libvirt
Extras