web-dev-qa-db-ja.com

4.4.0-143-generic upgrade 16.04 VMwareが機能しなくなった

VMwareは4.4.0-143-genericに対してコンパイルしなくなりました。4.4.0-142-genericはVMware Workstation 12.5.9で動作する最新のカーネルです

5
Srini Durand

ここで、私のLinuxで動作するようにvmwareを「更新」するためのより良い方法を見つけました。 1つのパラメータがget_user_pagesから削除されたようです。そのため、パラメータから0を削除するだけで、すべてが正常になります。

Rootユーザーで以下を実行します。

# cd /usr/lib/vmware/modules/source
# cp vmnet.tar vmnet.tar.bak
# cp vmmon.tar vmmon.tar.bak
# tar xf vmnet.tar
# tar xf vmmon.tar
# vi vmnet-only/userif.c

find:
   retval = get_user_pages(current, current->mm, addr,
                           1, 1, 0, &page, NULL);


change to:
   retval = get_user_pages(current, current->mm, addr,
                           1, 1, &page, NULL);


# vi vmmon-only/linux/hostif.c

find:
   retval = get_user_pages(current, current->mm, (unsigned long)uvAddr,
                           numPages, 0, 0, ppages, NULL);

change to:
   retval = get_user_pages(current, current->mm, (unsigned long)uvAddr,
                           numPages, 0, ppages, NULL);

# rm vmnet.tar ; tar cf vmnet.tar vmnet-only
# rm vmmon.tar ; tar cf vmmon.tar vmmon-only
# vmware-modconfig --console --install-all

楽しい!

4

VMwareをアップグレードする時間です。最終的にUbuntu 4.4.0-143カーネルにヒットしたカーネルの変更は、最新のVMware製品で機能するドライバーを備えている必要があります。 Nvidiaドライバーにもこの問題があり、新しいドライバーで修正されています。他の古いドライバー(get_user_pages()機能を使用するもの)は書き換えが必要ですが、Vmwareなどの大手ベンダーは、1月以降、Ubuntuで動作するドライバーを取得する必要がありました。


新しいドライバーを入手して問題を修正するオプションのない人のためのより完全な回答については、 カーネルを4.4.0-143-genericにアップデートした後、チューナーカードドライバーがビルドできないのはなぜですか?
以前のバージョンで使用していたカーネルを凍結すると、その後のセキュリティパッチが適用されなくなります。 N0rbertは、この問題を修正するために別の4.4カーネルリリースが利用可能になると私が思っているよりも楽観的です。また、リリースを(まだ)動作するVmwareドライバーを含む新しいカーネルにアップグレードすることによって、問題を解決することもできます。 16.04にはまだ何年ものサポートがあり、HWEカーネルの更新が利用可能ですが、Xenial HWEを実行している14.04には1か月のサポートしか残っていないため、その状況の人々はOSリリースアップグレードの選択に集中することができます。

1
ubfan1

VMwareはubuntu 16.04 LTSで動作しなくなりました。モジュールを手動でコンパイルする場合:

vmware-modconfig --console --install-all

次のエラーが発生します。

/tmp/modconfig-AVZerP/vmnet-only/userif.c:124:13: error: too many arguments to function ‘get_user_pages’

一時的な解決策は、システムの起動時にShiftキーを押しながらカーネルバージョン4.4.0-142を選択することです。それが役立ちます。

しかし、4.4.0-142バージョンがリストから消えた後、次を使用してそれを取り戻します。

Sudo apt-get install linux-image-4.4.0-142-generic linux-image-extra-4.4.0-142-generic linux-headers-4.4.0-142 linux-headers-4.4.0-142-generic
0