Skip to end of metadata
Go to start of metadata

症状


最新 2.6.29 以降のカーネルを使ったDebian、SUSE、および他のディストリビューションは、新しい固有のアーキテクチャを利用してカーネルヘッダをパッケージ 化しています。この変更により、以前に採用されているカーネルモジュールの構築方法との互換性が失われます。

この問題は、これらのLinux ディストリビューション上のカーネルモジュールを構築する試みはどれでもCDP 4 の以前に失敗しました。

以下は、1つの試みからの出力を示しています。この例では、r1soft-cki を使用しますが、CDP のr1soft セットアップの場合も、出力は同じです。

root@box~# /usr/bin/r1soft-cki Checking for binary module .. No binary module found Gathering kernel information Gathering kernel information complete. Creating kernel headers package Checking '/usr/src/linux-headers-2.6.32-5-common-xen' for kernel headers Found headers in 'linux-headers-2.6.32-5-common-xen' Compressing... uploading kernel package 100% 3863KB 3.8MB/s 00:01 Starting module build... ............................gathering required information... sending request for kernel module... kernel module installer failed. (0): chroot chroot make make[1]: Entering directory `/' ~~~~~~ make: Entering an unknown directory make: *** /usr/src/linux-headers-2.6.30-1-common: No such file or directory. Stop. make: Leaving an unknown directory make[4]: *** [all] Error 2 ~~~~~~

理由


この問題は、ヘッダパッケージに組み込まれている特別のアーキテクチャ固有のモジュールディレクトリを使ったDebian、SUSE、および他のディスト リビューションに影響を及ぼすことがよく知られています。この問題を解決するに当たりInterspire.com 社のクリスさんよりいろいろご協力いただきました。

Debian 開発者は、2.6.29 以降のバージョンからカーネルヘッダ用の共通/アーキテクチャの固有シンボリックリンクを削除しました。このようにして、R1Soft CDP Agent モジュールを含めて、多数のカーネルモジュールの構築が壊れてしまいました。(詳細は、http://bugs.debian.org/cgi-bin/bugrepaort.cgi?bug=521515 を参照してください)。

基本的には、必要なファイルを含むカーネルモジュールディレクトリが2つあります:

drwxr-xr-x 4 root root 4096 2010-01-20 05:43 linux-headers-2.6.32-trunk-amd64
drwxr-xr-x 4 root root 4096 2010-01-20 05:47 linux-headers-2.6.32-trunk-common

修正方法


適切なmakefile を選択して、これらの2つのディレクトリ内容を一時ディレクトリにコピーすると、r1soft-cki プロセスが正常にモジュールをコンパイルすることができます。

cd /usr/src/ rsync -avz /usr/src/linux-headers-2.6.32-5-xen-amd64/ r1build/ rsync -avz /usr/src/linux-headers-2.6.32-5-common-xen/ r1build/


次は、以下のフラグをコマンドに追加して、r1soft-cki ユーティリティに一時ディレクトリを使用するよう指示してください。

CDP2

# /usr/bin/r1soft-cki --get-module --kernel-dir /usr/src/r1build

CDP3 

# /usr/bin/r1soft-setup --get-module --kernel-dir /usr/src/r1build


ビルドに成功した後は、一時ディレクトリを削除し、エージェントを開始して、継続的データ保護を楽しく使うことができます。

rm -r /usr/src/r1build

CDP2

 /etc/init.d/buagent restart

CDP3

/etc/init.d/cdp-agent restart

Labels:
linux_3 linux_3 Delete
kernel_3 kernel_3 Delete
debian debian Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.