lguestは準仮想化ハイパーバイザであるため、そこで実行するゲストカーネルに対しては仮想化環境上で実行されていることを認識させるための変更を施して、システムリソースへの無許可アクセスを行わせないようにしておく必要がある。
lguestの実行時には、ホストおよびゲスト双方のカーネル設定において後記のオプションを有効化しておかなくてはならない。いずれにせよ、ホストとゲスト側で同じカーネルを使用させることで、設定の変更は大幅に簡単化されている。
設定変更後のカーネルについては再コンパイルしてから起動をさせるが、いずれかのカーネル設定オプションにて“y”ではなく“m”が選択してある場合は、「make modules_install」によるモジュールのインストールが必要となる。
ランチャープログラムのlguest.cは、Documentation/lguest/lguest.cのカーネルソースツリーに置かれているが、これはゲストカーネルのセットアップと設定に使用する。そのビルドに当たっては、当該ディレクトリでmakeを実行すればいい。
lguestではブータブルCD/DVDからの起動は行えないため、X環境を含めたLinuxディストリビューション一式をインストールしておく必要がある。こうしたLinuxディストリビューションのインストールは、ハードドライブ上に別途確保したプライマリパーティーションで行う必要があるが、あるいはQEMUを使用していれば、仮想化環境にてこうしたディストリビューションの複数インスタンスをlguestに実行をさせることも可能となる。
ゲストカーネルを起動させるには、カーネルソースツリーのDocumentation/lguestで以下のコマンドを実行する。
./lguest 64m ../../vmlinux --block=rootfile root=/dev/lgba
ここで64mにはゲストに割り当てるメモリ量を指定する。その次の../../vmlinuxは、ビルドディレクトリにあるカーネルイメージの指定部である。そしてrootfileは、ゲスト環境において/dev/lgbaとするファイルないしブロックデバイスであるが、具体的にはQEMUを用いてインストールしたイメージか、あるいはゲストのLinuxディストリビューションをインストールしたプライマリパーティーションを指定すればいい。最後に残された/dev/lgbaはゲストカーネルに渡されるブートパラメータで、ここでは/dev/lgbaをルートデバイスとして使用させることを指定している。
すべてが問題なく進行すれば、ゲストOSへのログイン画面が表示されるはずである。
Copyright © 2010 OSDN Corporation, All Rights Reserved.