マツド・サイエンス研究所

Ubuntu の KVMで Debian Linux Sarge を動かす

以前、使っていたノートパソコンにインストールしていた Debian Linux Sarge を使う用事ができた。

実は、昨日の RUBY-KDE4 の続きなのだが、昔、 Debian Linux Sarge 上の RUby/Qt2 で作ったプログラムを Ubuntu 上の RUBY-KDE4 に移植する必要ある。ここで、問題になるのは、GUI ライブラリーが Qt2 から Qt4 にバージョンアップしていることと、日本語コードが EUC から UTF-8 に変更になっている点だ。

Ubuntu の RUBY-KDE4 上と Debian Linux Sarge の RUby/Qt2 上とで、プログラムの動作が同じになることを確認したいので、二つを並べて動作させたい。ところが、Ubuntu の方は現役だが、Debian Linux Sarge の方は、とっくにサポートの終了した OS で、インストールしていたノートPCにも、新しい Debian Linux etch をインストールしなおしている。

幸い、Debian Linux Sarge をインストールした 2.5 インチ HDD は、外して残しているので、ノートPCに入れ直せば、復活するのだが、いちいちドライバーで分解するのも面倒だ。

そこで、Ubuntu の KVM を使って、仮想マシン上で、Debian Linux Sarge を走らせる事にした。

具体的には、 KVM をインストールした Ubuntu パソコンに、USB 接続の HDD ケースに入れた古いノートPC用の 2.5 インチ HDD を接続して、HDD イメージを丸ごと吸い上げる。

$ sudo apt-get install kvm qemu
$ sudo vim /etc/modules
<< 「kvm-amd」(or kvm-intel)を追加 >>

一度、再起動する。

$ sudo dd if=/dev/sdd  of=~/hdd.img conv=noerror,sync    << /dev/sdd の部分は、ドライブの認識順序によって異なる >>
$ sudo chmod 666 ~/hdd.img
$ sudo chmod 777 /dev/kvm
$ kvm -m 384 -hda ~/hdd.img -no-acpi -usb -soundhw es1370 -localtime

これで、一応起動するのだが、このままだと、Xウインドウが起動しない。これは、元々入っていたノートPCと Ubuntu KVM 上での仮想マシンとグラフィックインタフェースが異なるからだ。そこで、仮想マシン上の /etc/X11/XF86Config-4 を修正:

     Driver          "siliconmotion"

Driver "vesa"
に変更する。

これで、仮想マシンを再起動すると、X ウインドウも含めて、正常に、Debian Linux Sarge が動作する。

元々のノートPCのスペックが低い(CPU:セレロン 450MHz メモリ:192M バイト)ので、デュアルコアを使っている Ubuntu の KVM 上で動いている方が軽快なくらいだ。

$ sudo chmod 777 /dev/kvm
$ kvm -m 384 -hda ~/hdd.img -no-acpi -usb -soundhw es1370 -localtime -redir tcp:8080::80

等と起動すると、仮想マシンの Debian Linux Sarge で動作している Web サーバー(Apache) に、ホストの Ubuntu から、「http://localhost:8080/」でアクセスできる。たいしたものだ。

ただ、同じ 2.5 インチ HDD にデュアルブートで、Windows 98SE も乗せていた。これも起動できれば・・と思っていたが、こちらの方は全く起動しなかった。ちょっと残念。

注意

ブログのコンテンツの内、「告知」など時期よって情報価値が無くなるのは除いてある。また、コンテンツに付いたコメントは書き込み者に著作権があるものと判断し、ここに持ってきていないので、コメントを見るときは、元々のブログコンテンツを参照してもらいたい。

その他、ブログ発表後、コメントなどの内容を反映するなど、内容を変更しているものもあるので、注意してほしい。