Misc.

2010/07/30

Hyper-V & openSUSE 11.3 & Windows Virtual PC

前回の投稿で、ノベルの SUSE Linux Enterprise Server 11 Service Pack 1 (SLES 11 SP1) に、GPLv2 版の Linux Integration Components (Linux ICs) が「hyper-v-kmp-default (Microsoft Hyper-V drivers)」というパッケージで既定でインストールされることをお伝えしました。ノベルのオープンソース Linux である openSUSE の最新版はどうなっているか気になったので、確かめてみました。最新バージョンは、2010 年 7 月 15 日にリリースされたばかりの openSUSE 11.3 (kernel 2.6.34-12) です。これまた以前の投稿で、Linux Kernel 2.6.32 以降に GPLv2 版の Linux ICs が統合されたことをお伝えしましたが、そのとき確認に使ったのは、openSUSE 11.3 milestone 3 (kernel 2.6.33) でした。正式リリースではどうなったでしょうか?

openSUSE 11.3 のインストール

IDE および SCSI コントローラーに VHD を接続し、標準のネットワーク アダプター (統合タイプ) を割り当てた仮想マシンを作成し、openSUSE 11.3 の ISO イメージを使用して起動します。今回は、32 ビット版の openSUSE-11.3-DVD-i586.iso を使用しました。





インストーラーでは、[F2]キーで日本語を選択し、[F3]キーでお好みの解像度を選択して、インストールを開始します。













インストールで特に悩むところはありません。ただ、いつも指摘するように、「ハードウェアの時刻は UTC に設定」を必ずオフにしておくこと。その理由については、こちらをどうぞ。

インストールはすんなり完了します。

Linux ICs は?

SLES 11 SP1 のように Linux ICs が自動で組み込まれはしませんでした。lsmod | grep vsc を実行しても何も何も表示されません。そのため、Linux ICs が必要な SCSI 接続の VHD と、ネットワーク アダプターは見えていません。










組み込みの VSC をインストールする


lsmod | grep vsc  では何も表示されませんでしたが、lsmod | grep hv_lsmod | grep vmbus を実行すると、 仮想マシン バス (VMBus) のドライバー hv_vmbus が標準で組み込まれていることがわかります。

その他のドライバーの存在と動作も確認してみましょう。 GPLv2 版の Linux ICs は、openSUSE 11.3 milestone 3 のときと同じく、staging ドライバーとして収録されています。

/lib/modules/2.6.34-desktop/kernel/drivers/staging/hv に、hv_blkvsc.ko hv_netvsc.ko hv_storvsc.ko hv_vmbus.ko が存在します。insmod コマンドでインストールして、動作することを確認します (hv_vmbus はインストール済みなので insmod は不要)。

SLES 11 SP1 を参考に起動時のドライバ ロード設定

以前の投稿では、起動時に Linux ICs をロードさせる方法に悩みましたが、今回は SLES 11 SP1 という良いお手本があります。SLES 11 SP1 では、次の 4 つの設定ファイルで Linux ICs 関連の設定が行われているようです (青字部分)。

[/etc/sysconfig/kernel] (ドライバのロード設定)
INITRD_MODULES="thermal ata_generic piix ide_pci_generic processor fan hv_blkvsc hv_netvsc hv_storvsc hv_vmbus jbd ext3 edd"
MODULE_LOADED_ON_BOOT="hv_storvsc hv_netvsc"
[/etc/modprobe.d/hyperv_pvdrivers.conf] (hv_blkvsc による IDE 高速化)
install ide_core  /sbin/modprobe hv_blkvsc 2>&1 ; /sbin/modprobe --ignore-install ide_core
install ata_piix  { /sbin/modprobe hv_blkvsc 2>&1 || /sbin/modprobe --ignore-install ata_piix; }

[/etc/fstab] (ファイルシステムのマウント)
/dev/hda1    swap    swap    defaults    0 0
/dev/hda2    /    ext3    acl,user_xattr    1 1

....
[/boot/grub/menu.lst] (GRUB 起動メニュー)
title SUSE Linux Enterprise Server 11 SP1 - 2.6.32.12-0.7
root (hd0,1)
kernel /boot/vmlinuz-2.6.32.12-0.7-default root=/dev/sda2 resume=/dev/sda1 splash=silent crashkernel=256M-:128M showops vga=0x317
initrd /boot/initrd-2.6.32.12-0.7-default

....

openSUSE 11.3 の場合は、次のように変更しました (赤字部分の追加、変更)。

[/etc/sysconfig/kernel] (ドライバのロード設定)
INITRD_MODULES="thermal ata_piix ata_generic processor fan hv_netvsc hv_storvsc"
MODULE_LOADED_ON_BOOT="hv_storvsc hv_netvsc"

[/etc/fstab] (ファイルシステムのマウント)
/dev/disk/by-id/ata-Virtual_HD_-part1 /dev/sda1    swap    swap    defaults    0 0
/dev/disk/by-id/ata-Virtual_HD_-part2 /dev/sda2    /    ext4    acl,user_xattr    1 1
/dev/disk/by-id/ata-Virtual_HD_-part3 /dev/sda3    /    ext4    acl,user_xattr    1 2

....

[/boot/grub/menu.lst] (GRUB 起動メニュー)

title Desktop -- openSUSE 11.3 - 2.6.34-12
root (hd0,1)
kernel /boot/vmlinuz-2.6.34.12-desktop root=
/dev/disk/by-id/ata-Virtual_HD_-part2 /dev/sda2 resume=/dev/disk/by-id/ata-Virtual_HD_-part1/dev/sda1 splash=silent quiet showopts vga=0x317
initrd /boot/initrd-2.6.34-12-desktop

....

なお、hv_vmbus については、既定でインストール済みになったので、/etc/sysconfig/kernel INITRD_MODULES には記述しませんでした。また、hv_blkvsc については、 openSUSE 11.3 はもともと IDE ドライバー (hda) ではなく SCSI ドライバー (sda) を使用して IDE 接続の VHD にアクセスしているため、SLES 11 SP1 と同じ方法は適さないと考え、組み込んでいません (方法がわからないのも理由ですが...)。


動作確認

openSUSE 11.3 を再起動すると、Virtual Ethernet Card 0 が認識され(YaST2 の [ネットワークの設定]で初期設定が必要です)、SCSI 接続の VHD が /dev/sdb として認識されました ([パーティション設定]によるパーティションの作成とマウントが必要です)。

Windows Virtual PC & openSUSE 11.3

Windows Virtual PC の仮想マシンで  openSUSE 11.3 はどうかというと、残念ながら、インストール途中でハングアップしてしまいました。動作確認はできていません。openSUSE 11.2 の状況については、以下の投稿をどうぞ。

Windows Virtual PC & Fedora 12, openSUSE 11.2
http://yamanxworld.blogspot.com/2009/12/windows-virtual-pc-fedora-12-opensuse.html

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。