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