原文地址:http://tldp.org/LDP/lkmpg/2.6/html/
-
Table of Contents
Foreword
- 1. Introduction
- 2. Hello World
-
-
2.1.
Hello, World (part 1): The Simplest Module
2.2.
Compiling Kernel Modules
2.3.
Hello World (part 2)
2.4.
Hello World (part 3): The__init and __exit Macros
2.5.
Hello World (part 4): Licensing and Module Documentation
2.6.
Passing Command Line Arguments to a Module
2.7.
Modules Spanning Multiple Files
2.8.
Building modules for a precompiled kernel
3.
Preliminaries
-
-
3.1.
Modules vs Programs
4.
Character Device Files
- 5. The /proc File System
- 6. Using /proc For Input
- 7. Talking To Device Files
- 8. System Calls
-
-
8.1.
System Calls
9.
Blocking Processes
-
-
9.1.
Blocking Processes
10.
Replacing Printks
-
-
10.1.
Replacing printk
10.2.
Flashing keyboard LEDs
11.
Scheduling Tasks
-
-
11.1.
Scheduling Tasks
12.
Interrupt Handlers
-
-
12.1.
Interrupt Handlers
13.
Symmetric Multi Processing
- 14. Common Pitfalls
-
-
14.1.
Common Pitfalls
A.
Changes: 2.0 To 2.2
- B. Where To Go From Here
-
-
B.1.
Where From Here?
Index
-
List of Figures
5-1.
How seq_file works
-
List of Examples
2-1.
hello-1.c
2-2.
Makefile for a basic kernel module
2-3.
hello-2.c
2-4.
Makefile for both our modules
2-5.
hello-3.c
2-6.
hello-4.c
2-7.
hello-5.c
2-8.
start.c
2-9.
stop.c
2-10.
Makefile
4-1.
chardev.c
5-1.
procfs1.c
5-2.
procfs2.c
5-3.
procfs3.c
5-4.
procfs4.c
7-1.
chardev.c
7-2.
chardev.h
7-3.
ioctl.c
8-1.
syscall.c
9-1.
sleep.c
9-2.
cat_noblock.c
10-1.
print_string.c
10-2.
kbleds.c
11-1.
sched.c
12-1.
intrpt.c