插件窝 干货文章 Linux内核源代码存放位置详解

Linux内核源代码存放位置详解

Linux 内核 源码 bash 393    来源:    2025-04-09

在Linux系统中,内核源代码的存放位置取决于系统的安装方式和发行版策略。以下是详细说明:


一、官方内核源代码位置

  1. 官方发布版存放路径
    kernel.org 下载的官方内核源码通常解压到:

    /usr/src/linux-<version>/
    

    例如:/usr/src/linux-5.15.0/

  2. 符号链接
    系统可能创建一个方便的符号链接:

    /usr/src/linux -> linux-<version>/
    

二、发行版提供的源代码

不同Linux发行版会修改官方内核并重新打包,存放位置可能不同:

  1. Debian/Ubuntu

    • 安装开发包: bash sudo apt install linux-source-$(uname -r)
    • 源码包路径: bash /usr/src/linux-source-<version>.tar.xz
  2. RHEL/CentOS

    • 安装开发包: bash sudo yum install kernel-devel
    • 源码路径: bash /usr/src/kernels/<version>-<arch>/
  3. Arch Linux
    通过ABS获取:

    /var/abs/core/linux/
    

三、动态加载模块的源码

编译内核模块时需要匹配的源码:

/lib/modules/$(uname -r)/build -> /usr/src/linux-headers-<version>/

四、验证源码是否安装

  1. 检查头文件: bash ls /lib/modules/$(uname -r)/build
  2. 确认版本: bash make kernelversion

五、手动获取源码的方法

  1. Git克隆最新开发版bash git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
  2. 下载稳定版压缩包bash wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.15.84.tar.xz

六、关键目录说明

目录 用途
arch/ 处理器架构相关代码(x86, arm等)
drivers/ 设备驱动程序
fs/ 文件系统实现
include/ 内核头文件
kernel/ 核心子系统(调度、信号等)

七、注意事项

  1. 权限问题:操作源码需要root权限
  2. 空间需求:完整源码树需要约1-2GB空间
  3. 版本匹配:开发驱动需严格匹配运行中的内核版本

如需进一步操作(如编译内核),建议参考对应发行版的官方文档。