首先研究 Linux 源代码树的顶层目录,它通常(但不总是)位于 /usr/src/linux-
。我们不会研究得过于详细,因为 Linux 源代码经常会发生变化,但是,我们将尝试让给出的信息足以找出特定驱动程序或函数的位置。
Makefile
:这个文件是整个源代码树的顶层 makefile。它定义了很多实用的变量和规则,比如默认的 gcc 编译标记。
Documentation/
:这个目录中包含很多关于配置内核、运行 ramdisk 等任务的实用信息(但通常是过时的)。不过,与不同配置选项相应的帮助条目并不在这里 —— 它们在每个源代码目录的 Kconfig
文件中。
arch/
:所有与体系结构相关的代码都在这个目录以及 include/asm-
目录中。在此目录中,每种体系结构都有自己的目录。例如,用于基于 PowerPC 的计算机的代码位于 arch/ppc
目录中。在这些目录里,可以找到底层内存管理、中断处理、早期初始化、汇编例程,等等。
crypto/
:这是内核本身所用的加密 API。
drivers/
:按照惯例,在此目录的子目录中可以找到运行外围设备的代码。包括视频驱动程序、网卡驱动程序、底层 SCSI 驱动程序,以及其他类似的驱动程序。例如,在