Dou*_*oug 7 kernel-modules header-file linux-kernel
我正在使用 Tiny Core Linux 并尝试安装 Vmware Tools,这当然需要内核头文件 :-)。
看起来他们没有在包中随时可用的内核头文件,但他们确实有内核源代码。因此,我下载了该源代码,并尝试从中创建标题,但我不知道自己在做什么。
在我遇到的谷歌搜索中,它听起来像:
make headers_install
Run Code Online (Sandbox Code Playgroud)
可能会做我需要它做的事情,这实际上是一个正确的 make 目标,但它会出现以下错误:
tc@box:/usr/src/linux-3.16.6$ make headers_install
CHK include/generated/uapi/linux/version.h
HOSTCC arch/x86/tools/relocs_32.o
In file included from arch/x86/tools/relocs_32.c:1:0:
arch/x86/tools/relocs.h:17:32: fatal error: tools/le_byteshift.h: No such file or directory
#include <tools/le_byteshift.h>
^
compilation terminated.
scripts/Makefile.host:134: recipe for target 'arch/x86/tools/relocs_32.o' failed
make[1]: *** [arch/x86/tools/relocs_32.o] Error 1
arch/x86/Makefile:181: recipe for target 'archscripts' failed
make: *** [archscripts] Error 2
Run Code Online (Sandbox Code Playgroud)
我在这里是在正确的轨道上,我只是缺少依赖项或其他东西,还是我完全在错误的轨道上?
有人可以给我有关下一步如何进行的任何指示吗?看起来“tools/le_byteshift.h”不知何故丢失了,但我不确定从哪里开始隔离哪个包才能使其正常工作。
如何从源代码制作内核头文件?任何指针都非常感谢!
来自Mark Plotnick \xe2\x80\x99s评论:
\n\n\nVMware 工具需要实际的内核头文件,而不是
\nmake headers_install
生成的经过清理的头文件。当脚本提示您输入时,只需输入include
内核源代码树中目录的完整路径即可。vmware-config-tools.pl
并确保内核源与您正在运行的内核完全匹配。后续的内核版本有时会更改数据结构的布局。