插件窝 干货文章 linux内核的源代码放在什么文件下

linux内核的源代码放在什么文件下

内核 Linux 源码 kernel 41    来源:    2025-04-23

在Linux系统中,内核源代码通常存放在以下目录中:

标准路径

  1. 官方内核源代码

    • /usr/src/linux
    • /usr/src/linux-headers-$(uname -r)/
      $(uname -r) 会替换为当前内核版本,例如 5.15.0-76-generic
  2. 通过包管理器安装的源码

    • 在基于Debian/Ubuntu的系统上,安装后通常位于:
      bash /usr/src/linux-source-$(uname -r)/
    • 在基于RHEL/CentOS的系统上,安装后可能位于:
      bash /usr/src/kernels/$(uname -r)/

如何获取内核源码?

1. 通过包管理器安装(推荐)

  • Debian/Ubuntu: bash sudo apt update sudo apt install linux-source # 解压到当前目录 tar -xvf /usr/src/linux-source-*.tar.xz
  • RHEL/CentOS: bash sudo yum install kernel-devel

2. 从官方Git仓库克隆

git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
cd linux
git checkout v$(uname -r | cut -d'-' -f1)  # 切换到当前版本

3. 手动下载压缩包

kernel.org 下载后解压到任意目录(如 ~/linux-kernel/)。


验证源码完整性

  • 检查内核版本是否匹配: bash cd /path/to/kernel/source head Makefile # 查看前几行,包含版本信息(如 `VERSION = 5`)

注意事项

  1. 权限问题
    • /usr/src/ 通常需要 root 权限,建议用 sudo 操作。
  2. 空间占用
    • 内核源码解压后约占用 1~2GB 空间。
  3. 自定义内核编译
    • 若需修改或编译内核,建议复制源码到用户目录(如 ~/linux/)避免权限冲突。

快速定位当前运行内核的源码

# 查看当前内核版本
uname -r

# 查找匹配的源码目录(若已安装)
ls /usr/src/ | grep $(uname -r)

如果仍有疑问,可以提供具体发行版和需求(如开发/调试),我会进一步补充说明。