2009年11月21日土曜日

Installation of Xen 3.4.2 with Ubuntu as Dom0 - part 3

連載3回目。

状況を整理すると、Xenは今のところ関係なく、
  • Ubunt 9.10の標準カーネル (2.6.31-14-generic) →起動する
  • ここから取ってきてビルドしたカーネル (2.6.31.5) →起動しない(画面がブラックアウト)
となっています。dmesgを比較してみました。

起動するとき (2.6.31-14-generic使用時) の dmesg:
・・・
[    2.221645] EXT3-fs: mounted filesystem with writeback data mode.
[    3.306151] Adding 3116600k swap on /dev/sda2.  Priority:-1 extents:1 across:3116600k
[    3.474647] EXT3 FS on sda5, internal journal
[    4.261982] udev: starting version 147
[    5.003297] intel_rng: FWH not detected
[    5.074191] lp: driver loaded but no devices found
[    5.084328] parport_pc 00:09: reported by Plug and Play ACPI
[    5.084369] parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE]
[    5.106769] ppdev: user-space parallel port driver
[    5.160180] lp0: using parport0 (interrupt-driven).
[    5.308416] nvidia: module license 'NVIDIA' taints kernel.
[    5.308421] Disabling lock debugging due to kernel taint
[    5.342847] ip_tables: (C) 2000-2006 Netfilter Core Team
[    5.562367] nvidia 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[    5.562374] nvidia 0000:01:00.0: setting latency timer to 64
[    5.562479] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  185.18.36  Fri Aug 14 17:35:21 PDT 2009
[    5.959084] HDA Intel 0000:00:1b.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[    5.959103] HDA Intel 0000:00:1b.0: setting latency timer to 64
[    6.126981] hda_codec: Unknown model for ALC662 rev1, trying auto-probe from BIOS...
[    6.128232] input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/input/input5

起動しないとき (2.6.31.5使用時) の dmesg:
・・・
[    4.470514] EXT3 FS on sda5, internal journal
[    5.293847] udev: starting version 147
[    5.905302] ip_tables: (C) 2000-2006 Netfilter Core Team
[    6.199653] lp: driver loaded but no devices found
[    6.213961] parport_pc 00:09: reported by Plug and Play ACPI
[    6.214001] parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE]
[    6.246184] ppdev: user-space parallel port driver
[    6.290182] lp0: using parport0 (interrupt-driven).
[    6.391463] intel_rng: FWH not detected
[    7.071009] HDA Intel 0000:00:1b.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[    7.071029] HDA Intel 0000:00:1b.0: setting latency timer to 64
[    7.294849] hda_codec: Unknown model for ALC662 rev1, trying auto-probe from BIOS...
[    7.296100] input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/input/input4
[    9.013072] r8169: eth0: link up
[    9.013077] r8169: eth0: link up


えーっと、ログ出力される順序が異なるので比較し辛いですが、心の目でじっと観ていると、起動しない方は "nvidia:" で始まるログがないことが分かります。ビデオカードのドライバですね。


そういえば、ビデオカードのドライバはNVIDIAが提供しているプロプライエタリなドライバを、Ubuntuメニューの「システム→システム管理→ハードウェア・ドライバ」から入れてるんだった。ということは、OSが起動してないのではなくて、画面が表示できてないだけか。同じようなもんだけど。

/etc/X11/xorg.confに、'Driver "nvidia"'とバッチリ書いてました。ということは・・・、
  1. 2.6.31.5で起動
  2. NVIDIAプロプライエタリドライバは(どういうわけか)ロードされない
  3. X起動 → nvidiaドライバを使おうとする → 死亡
  4. 画面表示されない
ということかと思われます。この仮説を検証するために、2.6.31-14-genericで起動して、NVIDIAプロプライエタリドライバを無効にしてから、2.6.31.5で起動すると・・・、動いた!動きました。

これで、2.6.31.5がスタンドアローンのOS(というのが適切な表現なのか・・・)としても、XenのDom0としても動きました。

ただし、現状は「Xenを使ってるけど、OSは一つ (Dom0) しか起動してなくて、しかもビデオドライバの性能がちょっと悪くなってる」という悲しい状態なので・・・
  • DomUとして何か動かす
  • Dom0をvanilla kernelじゃなくて、Ubuntuのカーネルにしたい(何となく)
  • NVIDIAプロプライエタリドライバを使う(追記2009-11-22: 使えた
がやりたいです。ToDoいっぱいあるなぁ・・・。

0 件のコメント:

コメントを投稿