dkms 未找到内核源

dkms 未找到内核源

几天来我一直尝试让 ZFS-on-Linux 在 Debian 7 上运行,但模块无法编译:

# dpkg-reconfigure zfs-dkms

------------------------------
Deleting module version: 0.6.3
completely from the DKMS tree.
------------------------------
Done.
Loading new zfs-0.6.3 DKMS files...
Building only for 2.6.32-openvz-042stab090.5-amd64
Module build for the currently running kernel was skipped since the
kernel source for this kernel does not seem to be installed.

当然,已经安装了标题和源:

# uname -r
2.6.32-openvz-042stab090.5-amd64
# dpkg -l | grep 2.6.32-openvz-042stab090.5-amd64
ii  linux-headers-2.6.32-openvz-042stab090.5-amd64   1                                  amd64        Header files related to Linux kernel, specifically,
ii  linux-image-2.6.32-openvz-042stab090.5-amd64     1                                  amd64        Linux kernel binary image for version 2.6.32-openvz-042stab090.5-amd64
ii  linux-source-2.6.32-openvz-042stab090.5-amd64    1                                  all          Linux kernel source for version 2.6.32-openvz-042stab090.5-amd64
#

所以我手动尝试了一下。仍然不行:

# dkms build zfs/0.6.3 -k `uname -r` --kernelsourcedir=/usr/src/linux-source-2.6.32-openvz-042stab090.5-amd64
Error! Your kernel headers for kernel 2.6.32-openvz-042stab090.5-amd64 cannot be found.
Please install the linux-headers-2.6.32-openvz-042stab090.5-amd64 package,
or use the --kernelsourcedir option to tell DKMS where it's located


ls /usr/src/linux-source-2.6.32-openvz-042stab090.5-amd64 | wc -l
90

它包含所有内容(arch、block、configs、debian ......)。WTF?

答案1

经过长时间的调试会话后,我发现 /lib/modules/2.6.32-openvz-042stab090.5-amd64 中到 /usr/src 和 /usr/include 的构建和源链接丢失了。

手动添加它们并且有效。

我很高兴我可以在 Linux 中工作,至少可以查看源代码并进行调试......

相关内容