あっきぃ日誌

ラズピッピブログのようなオタクブログのようななにか

KVMのviostorドライバのディスクを作る方法

KVMでWindows用のvirtioドライバをインストールする際、ネットワークデバイスは普通にWindows仮想マシン上からインストールするだけですが、ストレージデバイスは、AHCIドライバとか、VMware SCSIドライバの時のように、Windowsインストール時にドライバを読み込ませる方法で、ドライバのインストールを行います(行うようです)。
で、配布元からzipをダウンロードしてみたら、sysファイルとinfファイルがあるだけで、このままではドライバのインストールができません。起動時に読み込ませられる形にするには、txtsetup.oemファイルが必要です。いろいろ調べて、ようやく見つけたので貼り付けておきます(参考元はこちら)。

[Disks]
d1 = "Viostor SCSI driver disk",\disk1.tag,\

[Defaults]
SCSI = viostor

[SCSI]
viostor = "Viostor SCSI Controller"

[Files.SCSI.viostor]
driver = d1,viostor.sys,viostor
inf = d1,wnet.inf

[HardwareIds.scsi.viostor]
id = "PCI\VEN_1AF4&DEV_1001","viostor"

もうひとつ、txtsetup.oem内に記述されている「disk1.tag」ファイルも作成しますが、これは空で良い?ようです。
あとは、Windowsのバージョンにあわせたviostor.sys/viostor.inf、作成したtxtsetup.oem/disk1.tagの4ファイルを詰めたディスクイメージを作成するだけです。Windowsであればedimg*1を使っても良いですし、VFDというユーティリティを使っても良いです。Linuxの場合は知らないので省略(えー。
問題は、いまのところ、このイメージを使ってもストレージドライバのインストールに成功していない点だけです(おい……。ここは調査継続で。もしかして、VT-dが必要なのか、CentOS5.4がダメなのか、とか、気にしてみる必要がある点もありそうですが。

インストールに失敗の詳細

インストーラでは認識に制越して、ファイルのコピーが行われますが、その後に再起動すると、本来はHDDから起動するはずが、またインストーラが立ち上がります。HDDの起動を優先すると、ご覧の通りブートに失敗します。

Windows Server 2003 / Windows XP両方ダメでした。やっぱりVT-d必要なのかな。この辺詳しくないのだ……。

*1:OSASKプロジェクトから誕生したディスクイメージ操作ユーティリティ