//]]>
| Item type | Location | Call Number | Status | Notes | Date Due |
|---|---|---|---|---|---|
Book |
AUM Main Library English Collections Hall | 005.432 B598 (Browse Shelf) | Available | 202500085 |
Includes index
Cover -- Copyright -- Contributors -- Table of Contents -- Preface -- Chapter 1: Linux Kernel Programming -- A Quick Introduction -- Kernel workspace setup -- Technical requirements -- Cloning this book's code repository -- Chapter 2: Building the 6.x Linux Kernel from Source -- Part 1 -- Technical requirements -- Preliminaries for the kernel build -- Understanding the Linux kernel release nomenclature -- Fingers-and-toes releases -- Kernel development workflow -- understanding the basics -- Viewing the kernel's Git log via the command line -- Viewing the kernel's Git log via its GitHub page
The kernel dev workflow in a nutshell -- Exercise -- Exploring the types of kernel source trees -- LTS kernels -- the new mandate -- Which kernel should I run? -- Steps to build the kernel from source -- Step 1 -- Obtaining a Linux kernel source tree -- Downloading a specific kernel tree -- Cloning a Git tree -- Step 2 -- Extracting the kernel source tree -- A brief tour of the kernel source tree -- Step 3 -- Configuring the Linux kernel -- Minimally understanding the Kconfig/Kbuild build system -- How the Kconfig+Kbuild system works -- a minimal take -- Arriving at a default configuration
Obtaining a good starting point for kernel configuration -- Kernel config using distribution config as a starting point -- Tuned kernel config via the localmodconfig approach -- Kernel config for typical embedded Linux systems -- Seeing all available config options -- Getting going with the localmodconfig approach -- Tuning our kernel configuration via the make menuconfig UI -- Sample usage of the make menuconfig UI -- Kernel config -- exploring a bit more -- Searching within the menuconfig UI -- Looking up the differences in configuration
Using the kernel's config script to view/edit the kernel config -- Configuring the kernel for security -- Miscellaneous tips -- kernel config -- Customizing the kernel menu, Kconfig, and adding our own menu item -- Understanding the Kconfig* files -- Creating a new menu item within the General Setup menu -- A few details on the Kconfig language -- Summary -- Exercise -- Questions -- Further reading -- Chapter 3: Building the 6.x Linux Kernel from Source -- Part 2 -- Technical requirements -- Step 4 -- building the kernel image and modules -- Getting over a cert config issue on Ubuntu
Step 5 -- installing the kernel modules -- Locating the kernel modules within the kernel source -- Getting the kernel modules installed -- Overriding the default module installation location -- Step 6 -- generating the initramfs image and bootloader setup -- Generating the initramfs image -- under the hood -- Understanding the initramfs framework -- Why the initramfs framework? -- Understanding the basics of the boot process on the x86 -- More on the initramfs framework -- Peeking into the initramfs image -- Step 7 -- customizing the GRUB bootloader -- Customizing GRUB -- the basics
Available to OhioLINK libraries
Gain both a firm practical understanding and sufficient theoretical insight into the inner workings of Linux kernel internals, learn to write high-quality kernel module code, understand the complexities of kernel synchronization Purchase of the print or Kindle book includes a free eBook in PDF format. Key Features Discover how to write Linux kernel and module code for real-world products Implement industry-grade techniques in real-world scenarios for fast, efficient memory allocation and data synchronization Understand and exploit kernel architecture, CPU scheduling, and kernel synchronization techniques Book Description The 2nd Edition of Linux Kernel Programming is an updated, comprehensive guide for new programmers to the Linux kernel. This book uses the recent 6.1 Long-Term Support (LTS) Linux kernel series, which will be maintained until Dec 2026, and also delves into its many new features. Further, the Civil Infrastructure Project has pledged to maintain and support this 6.1 Super LTS (SLTS) kernel right until August 2033, keeping this book valid for years to come! You'll begin this exciting journey by learning how to build the kernel from source. In a step by step manner, you will then learn how to write your first kernel module by leveraging the kernel's powerful Loadable Kernel Module (LKM) framework. With this foundation, you will delve into key kernel internals topics including Linux kernel architecture, memory management, and CPU (task) scheduling. You'll finish with understanding the deep issues of concurrency, and gain insight into how they can be addressed with various synchronization/locking technologies (e.g., mutexes, spinlocks, atomic/refcount operators, rw-spinlocks and even lock-free technologies such as per-CPU and RCU). By the end of this book, you'll have a much better understanding of the fundamentals of writing the Linux kernel and kernel module code that can straight away be used in real-world projects and products. What you will learn Configure and build the 6.1 LTS kernel from source Write high-quality modular kernel code (LKM framework) for 6.x kernels Explore modern Linux kernel architecture Get to grips with key internals details regarding memory management within the kernel Understand and work with various dynamic kernel memory alloc/dealloc APIs Discover key internals aspects regarding CPU scheduling within the kernel, including cgroups v2 Gain a deeper understanding of kernel concurrency issues Learn how to work with key kernel synchronization primitives Who this book is for This book is for beginner Linux programmers and developers looking to get started with the Linux kernel, providing a knowledge base to understand required kernel internal topics and overcome frequent and common development issues. A basic understanding of Linux CLI and C programming is assumed
There are no comments for this item.