2007年08月10日

VMware 上の Fedora Core 6 で 2.6.22 カーネルを使う場合の注意点について

カーネル 2.6.21 以降では VMware 仮想マシンのハードディスクドライバとして使用されている lsilogic によるエミュレーションが正常に動作しないため、ハードディスクを認識することができず、システムを起動することができません。カーネル 2.6.21 や 2.6.22 を使う場合には、仮想マシンの設定ファイル(*.vmx)を開いて lsilogic を buslogic に変更してください。

scsi0.virtualDev = "lsilogic"
 ↓
scsi0.virtualDev = "buslogic"

起動時に Do you want VMware Workstation to change the adapter type for scsi0:0 disk? と質問された場合、 Yes と答えます。

Fedora 7 のインストーラでは 2.6.21 カーネルが使われているので、インストール前に上記の変更を行う必要があります。

Fedora Core 6 でも昨日 2.6.20-1.2962.fc6 から 2.6.22.1-32.fc6 にアップデートされたので、再起動したら起動できないという上記の問題に遭遇します。
以下は、私が行った対処法です。

yum -y update で 2.6.22.1-32.fc6 カーネルをインストールします。

2.6.20-1.2962.fc6 で起動している間に /etc/modprobe.conf を開いて scsi_hostadapter を BusLogic に変更します。

alias scsi_hostadapter mptbase
alias scsi_hostadapter1 mptspi
 ↓
alias scsi_hostadapter BusLogic

2.6.22.1-32.fc6 カーネル用の initrd を作り直します。これで、 initrd に BusLogic ドライバが含まれるようになります。

mkinitrd -f /boot/initrd-2.6.22.1-32.fc6.img 2.6.22.1-32.fc6

シャットダウンします。

poweroff

仮想マシンの設定ファイルを開いて lsilogic を buslogic に変更します。

scsi0.virtualDev = "lsilogic"
 ↓
scsi0.virtualDev = "buslogic"

仮想 CPU を1個しか割り当てていないシステムではこれで動くはずです。

私の環境( ThinkPad X60 )では仮想 CPU を2個割り当てています。その場合、ハードディスクの認識前に処理が先に進んでしまい、 kernel panic になるため起動できませんでした。

何故かカーネルのコマンドラインで nosmp を指定しても効果がありません。そのため、仮想マシンの設定ファイルを開いて仮想 CPU を1個にしました。

numvcpus = "2"
 ↓
numvcpus = "1"

これでとりあえず起動できました。ログインして、ハードディスクを認識させるためのスリープ処理を加えるために initrd を修正します。

mkdir /tmp/initrd
cd /tmp/initrd
zcat /boot/initrd-2.6.22.1-32.fc6.img | cpio -id

init を開いて BusLogic.ko をロードした後に sleep 10 を挿入します。

insmod /lib/BusLogic.ko
mkblkdevs
 ↓
insmod /lib/BusLogic.ko
sleep 10
mkblkdevs

念のため別名で initrd を作成します。

find . -print0 | cpio -o0 -H newc | gzip -9 > /boot/initrd-2.6.22.1-32sleep.fc6.img

シャットダウンします。

poweroff

仮想マシンの設定ファイルを開いて仮想 CPU を2個に戻します。

numvcpus = "1"
 ↓
numvcpus = "2"

grub の画面では /boot/initrd-2.6.22.1-32.fc6.img の代わりに /boot/initrd-2.6.22.1-32sleep.fc6.img を指定してください。

これで起動できると思います。起動できたら、 /boot/initrd-2.6.22.1-32sleep.fc6.img を /boot/initrd-2.6.22.1-32.fc6.img にリネームしてください。

posted by 熊猫さくら at 12:12| Comment(0) | TrackBack(0) | Linux
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/4982575
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック