VMware 上で、linux-2.6.27.6 以降が起動しない件について

linux-2.6.27.6以降のカーネルは、VMware上で起動しない場合がある。

詳細は12167 – 2.6.27.6 vmware guest panics on boot with CONFIG_VMI=Y が詳しいが、以下の3つの条件を満たすと、

  • 1) ゲスト側のカーネルとして、linux-2.6.27.6以降を使用
  • 2) ゲスト側のカーネルを CONFIG_VMI=y でビルドしている
  • 3) ホスト側で VMIを有効にしている

ゲスト側は起動時に

 Booting the kernel.

 BUG: Int 14: CR2 fbe00000

とエラーを出し、起動しなくなる。

とりあえず現状では

  • a) ゲストOS側のカーネルに以下のパッチを当てる

http://bugzilla.kernel.org/attachment.cgi?id=19184&action=view

  • b) VMware側で VMI を無効にする

のどちらかで回避することが可能。


12/12追記

http://bugzilla.kernel.org/show_bug.cgi?id=12167#c21 にあるように

Patch to fix boot time ioremap crash with VMI

I've sent the attached patch upstream for inclusion in 2.6.28.

ということで解決した模様。最終的なパッチは、http://bugzilla.kernel.org/attachment.cgi?id=19262&action=view

12/26追記
上記パッチは、 linux-2.6.28 に取り込まれた模様。

commit ae8d04e2ecbb233926860e9ce145eac19c7835dc
Author: Zachary Amsden
Date: Sat Dec 13 12:36:58 2008 -0800

x86 Fix VMI crash on boot in 2.6.28-rc8

VMI initialiation can relocate the fixmap, causing early_ioremap to
malfunction if it is initialized before the relocation. To fix this,
VMI activation is split into two phases; the detection, which must
happen before setting up ioremap, and the activation, which must happen
after parsing early boot parameters.

This fixes a crash on boot when VMI is enabled under VMware.

Signed-off-by: Zachary Amsden
Signed-off-by: Linus Torvalds