며칠 동안 Debian 7에서 ZFS-on-Linux를 작동시키려고 노력하고 있지만 모듈이 컴파일을 원하지 않습니다.
# 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
여기에는 모든 것(아치, 블록, 구성, 데비안 등)이 포함되어 있습니다. 뭐야?
답변1
오랜 디버그 세션 후에 /lib/modules/2.6.32-openvz-042stab090.5-amd64에서 /usr/src 및 /usr/include에 대한 빌드 및 소스 링크가 누락되었음을 발견했습니다.
수동으로 추가했더니 제대로 작동했습니다.
최소한 소스를 살펴보고 디버그할 수 있는 Linux에서 작업할 수 있다는 사실에 모두가 행복합니다.