Qemu 0.13.0 にパッチを適用し、GNS3 で利用出来るようにする
GNS3 内で Linux ホストを使った検証が行いたくて 先日、homebrew で Qemu 0.13.0 をインストールした のですが、Qemu が上手く動きませんでした。GNS3 のサイトを見ると、Qemu 0.13.0 用のパッチが出ていたので、パッチを当てて Qemu をコンパイルし直してみます。前提として、以下の環境で作業しています。
- Mac OS X 10.6.6
- GNS3 0.7.3("/Applications/GNS3.app" へインストール済み)
- Qemu 0.13.0
Qemu 0.13.0 へのパッチ適用とインストール¶
まず、少なくても Mac OS X 版の GNS3 パッケージには pemubin.py というファイルが含まれていないというバグがあるよう です。ですので、pemubin.py を GNS3 のソースコードを管理しているサイトからダウンロードし、"/Applications/GNS3.app/Contents/Resources" へコピーしておきます。
次に Qemu 0.13.0 自体のソースコードと GNS3 用のパッチをダウンロードします。
ダウンロードしたソースコード&パッチを展開、パッチを適用します。
1 2 3 4 5 |
|
Qemu をコンパイル&インストールします。ターゲットプラットフォームは i386 に限定しています。また、Mac OS X プラットフォーム限定で "--enable-cocoa" というオプションがあるので、こちらも有効にしておきます。
1 2 3 |
|
GNS3 での Qemu 関連設定¶
GNS3 で Qemu 関連部分は下記のように設定しておきます(GNS3 は日本語化してしまっています)。
Qemu の起動ポートを "127.0.0.1" ではなく、"localhost" に設定しているとイーサネットスイッチを追加した際に下記のようなエラーが出てしまうようです。これを回避する為に Qemu の接続ポートは "127.0.0.1" としておきます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
私の場合や Linux と Cisco ルータを接続した場合の検証がしたかったので、Linux の Microcore や Tinycore をダウンロードしておきました。GNS3 から使う場合は "-no-acpi" オプションを指定し、ACPI を無効にしておきます。
余談ですが、MIcrocore Linux 3.4 の Linux Kernel は 2.6.33.3 のようです。
1 2 |
|
Qemuwrapper の起動¶
GNS3 には "Qemu マネージャ" という機能があるのですが、これは使わず、CLI から直接、Qemuwrapper.py 経由で Qemu を起動します。"--listen 127.0.0.1" や "--port 10525" といったオプションで Qemu が起動するアドレス&ポートを制御することも出来るのですが、私の場合は特に何もオプションを指定せずに使っています。 Qemuwrapper.py は必ず、GNS3 上で Qemu ホストを登録するよりも前に起動しておきます。
1 2 3 4 5 6 7 |
|
あとは GNS3 上で Cisco ルータと同様に Qemu ホストを登録することで、Linux を動作させた Qemu ホストと Cisco ルータを直接、もしくはイーサネットスイッチ経由で接続し、互いに通信させることが出来るようになりました。