我有一个 Linux 系统,它运行一个内核映像,该映像是从 Git 存储库的源代码编译而来的。当我运行Linux时,我想为某些NI仪器安装驱动程序。当我尝试运行安装程序时,它告诉我它无法检测到 Linux 内核源,而这些源是驱动程序所必需的。
我有可用的源,所以这不是问题,但我不知道如何使这些源可供此安装程序使用。内核源代码传统上保存在某个特定目录中,还是有一些环境变量可以告诉它们在哪里?
另外,内核源代码由什么构成?我拉取的 Git 存储库中有大量文件,但其中许多文件似乎是针对不同平台构建或制作的文件。内核模块具体需要什么?
答案1
模块构建系统期望.config
在/lib/modules/$(uname -r)/build
.对您来说最简单的方法是创建一个指向源目录的符号链接:
sudo ln -s /path/to/kernel/source /lib/modules/$(uname -r)/build
答案2
传统上,内核源位于 /usr/src/linux 中。如果您的发行版有一个 Linux 源代码包,那么它们可能会去那里。尝试linux-source
在基于 debian 的发行版或kernel-devel
基于 RedHat 的发行版上安装包。