ここ数日、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
すべてが含まれています (arch、block、configs、debian、...)。何ですって?
答え1
長いデバッグ セッションの後、/lib/modules/2.6.32-openvz-042stab090.5-amd64 の /usr/src と /usr/include へのビルド リンクとソース リンクが欠落していることに気付きました。
手動で追加したら動作しました。
少なくともソースを調べてデバッグできる Linux で作業できることをみんな嬉しく思っています...