Skip to content

Latest commit

 

History

History
788 lines (603 loc) · 70.5 KB

Further_Reading.md

File metadata and controls

788 lines (603 loc) · 70.5 KB

Further Reading

For the book "Linux Kernel Programming", 2nd Ed, Kaiwan N Billimoria, Packt (2024).

Book GitHub repo: https://github.com/PacktPublishing/Linux-Kernel-Programming_2E

Here, we present, in a chapter-wise format, additional online as well as book references. We feel that these will help you, the reader, in digging deeper into topics, or gaining additional views/information, or both. We definitely recommend you browse through the provided references. Also, you will find that some resources are repeated across chapters; we leave it this way so that you can gain all required resources in one place (and chapter-wise). (Obviously, these reference articles/blogs/etc are provided "as-is"; we cannot vouch for their correctness or validity).

For your convenience, below are chapter-wise links to the Further Reading notes:

Section 1: The Basics

Section 2: Understanding and Working with the Kernel

Section 3: Delving Deeper

Friendly Reminder !
This book's companion volume 'Linux Kernel Programming (Part 2): Writing character device drivers: Learn to work with user-kernel interfaces, handle peripheral I/O & hardware interrupts' is available as well.
And, hey, the ebook's free!
The LKP-Part2 book's GitHub repo is here.


Besides the Further Reading resource specified chapter-wise, be sure to refer to the "special" section below entitled Generic online and book resources : miscellaneous, very useful! These links and books are considered to be useful throughout your journey through this book and after.

Generic online and book resources : miscellaneous, very useful

A few excellent books that come to mind (specific books on the Linux kernel and writing Linux device drivers are mentioned in the appropriate chapter's Further reading section):

[Top]


Chapter 1, Kernel Development Workspace Setup - Further Reading

Resources on setting up a Linux guest using VirtualBox on a Windows host:

Good resources on toolchains:

Some useful tooling, drivers, and so on, created by myself:

  • The procmap utility - view any process's virtual address space fully (both user+kernel VAS): procmap
  • Scripts, tools, utils, code : usefulsnips
  • SEALS : Simple Embedded Arm Linux System
  • device-memory-readwrite : Read/write pretty much any memory location (RAM or hardware IO memory) on a device or PC

Miscellaneous:


[Top]

Chapter 2, Building the Linux Kernel From Source, Part 1 - Further Reading


[Top]

Chapter 3, Building the Linux Kernel From Source, Part 2 - Further Reading


[Top]

Chapter 4, Writing your first Kernel Module-LKMs Part 1 - Further Reading


[Top]

Chapter 5, Writing your first Kernel Module-LKMs Part 2 - Further Reading


[Top]

Chapter 6, Kernel Internals Essentials - Processes and Threads - Further Reading


[Top]

Chapter 7, Memory Management Internals Essentials - Further Reading


[Top]

Chapter 8, Kernel Memory Allocation for Module Authors, Part 1 - Further Reading


[Top]

Chapter 9, Kernel Memory Allocation for Module Authors, Part 2 - Further Reading


[Top]

Chapter 10, The CPU Scheduler, Part 1 - Further Reading


[Top]

Chapter 11, The CPU Scheduler, Part 2 - Further Reading


[Top]

Chapter 12, Kernel Synchronization, Part 1 - Further Reading


[Top]

Chapter 13, Kernel Synchronization, Part 2 - Further Reading

[Top]

[End Doc]