web-dev-qa-db-ja.com

R1Softhcpモジュールをコンパイルするためのカーネルヘッダーを構築する

XenベースのVMをCentOS5で実行していますが、ホスティングプロバイダーはカーネルバージョン2.6.37.6をホストマシンからプッシュします(したがって、pv-grubはありません)。

[root@dev ~]# uname -r
2.6.37.6

R1Softエージェントをインストールしようとしていますが、そのためのhcpdriverモジュールをビルドする必要がありました。残念ながら、モジュールのビルドに必要なカーネルヘッダーをインストールしようとしたときに、yum install kernel-develまたはyum install kernel-xen-develはトリックを実行しませんでした(そして、ホスティングプロバイダーがカスタムカーネル)。

そこで、先に進んでkernel.orgからカーネルをダウンロードし、それを/usr/src/に抽出して、次のコマンドを実行しました。

zcat /proc/config.gz > .config
make oldconfig && make modules_prepare

カーネルヘッダーができたので、hcpdriverモジュールを作成しましたが、modprobe/insmodを実行しようとすると、dmesgで次のエラーが発生していました。

hcpdriver: no symbol version for module_layout

私はエラーをグーグルで検索し、vermagicに関するいくつかのヒントを見つけました。しかし、新しく構築されたモジュールには、ホスティングプロバイダーによって提供された以前のモジュールと同じvermagicがあります(明らかに何らかのバグがあり、R1Softサポートから新しいバージョンのコンパイルを求められました)。

これが古い-buggy-のものです(私のホストによって提供されました):
[root@dev r1soft]# modinfo hcpdriver.o
filename: hcpdriver.o
version: 4.1.1 build 13785
license: Proprietary
description: Linux Hot Copy Driver
author: Michael Brumlow
depends:
vermagic: 2.6.37.6 SMP mod_unload modversions

これが、新しくコンパイルされたカーネルヘッダーに基づいて作成した新しいものです。
[root@dev r1soft]# modinfo hcpdriver-cki-2.6.37.6.ko
filename: hcpdriver-cki-2.6.37.6.ko
version: 4.2.1 build 16433
license: Proprietary
description: Linux Hot Copy Driver
author: Michael Brumlow
depends:
vermagic: 2.6.37.6 SMP mod_unload modversions

ご覧のとおり、vermagicはまったく同じです。問題は、最初のモジュールをinsmodすると正常に動作するのに、2番目のモジュールは正常に動作しないことです。

誰かが同じような問題を抱えたことはありますか?カーネルヘッダーを自分で作成するのは初めてなので、この場合、使用したプロセスが正しいかどうかはよくわかりません。他に試すことができるものはありますか?

更新1
プロセスを最初からやり直し、kernel.orgからtar.gzを再ダウンロードし、/ usr/src/kernelsに解凍してから、次のコマンドを実行しました。

zcat /proc/config.gz > .config
make
make modules_install && make headers_install

すべてがエラーなしで完了しました。

それから私は走った:
r1soft-setup --get-module --no-binary
これもエラーなしで完了しましたが、モジュールをinsmodしようとすると、dmesgは次のように報告します。
hcpdriver: disagrees about version of symbol __memcpy
hcpdriver: Unknown symbol __memcpy (err -22)

よろしくお願いします、ジョージ

3

いいえ、この問題は見たことがありません。しかし、それは厄介に聞こえます。これはホスティングサポートの問題である可能性があります。ホストが特定のカーネルバージョンをプッシュし、R1Softのインストールを管理している場合、ホストで動作するhcpモジュールを使用できるようにするか、動作させるために必要な手順をユーザーに説明できるようにする必要がありますか?どちらかといえば、hcp-setupを試して、関連情報をR1Softのビルドサーバーにアップロードできます。モジュールをローカルでビルドする必要はありませんでしたが、通常はディストリビューションカーネルまたはわずかに変更されたディストリビューションカーネルを使用しています。

1
ewwhite