我正在运行 14.04,安装在一个空硬盘上。Linux 头文件已安装,但文件.h
为空。我可以看到这里的文件长度均为零: /usr/src/linux-headers-3.13.0-37-generic/include/config
。
头文件按如下方式安装:
> sudo apt-get install linux-headers-$(uname -r)
Reading package lists... Done
Building dependency tree
Reading state information... Done
linux-headers-3.13.0-37-generic is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 5 not upgraded.
我怎么能够真的安装头文件,使得它们具有非零长度?
答案1
刚刚遇到这根据 Kristof 的说法:
include/config 根本不用于头文件。这是优化内核构建的巧妙技巧的一部分。
内核配置(存储在 .config 中)用于生成整个内核使用的头文件。问题是,更改一个选项意味着所有包含 config.h 的文件都需要重建,即使其中大多数文件可能不受该选项的影响。
这个问题可以通过移除 makefile 对 config.h 的依赖,并用对 include/config 中某个文件的依赖来代替。那里的每个文件都对应一个配置选项。每当该选项发生更改时,配置系统都会触及该文件(更新其时间戳,导致 make 重建所有依赖文件)。