先週はcoLinuxにはまっていた。おかげで、いちいちLinuxマシンを起動しなくてもLinuxの機能が使えるようになってとても便利だ。2台が1台になったことで電気が節約できてでんこちゃんもよろこぶし、もともとありあまっているCPUパワーを活用できて効率的だ。せっかくなので、試したことを簡単に紹介しておこう。
coLinuxとは
正式にはCooperative Linux。あたかもWindows(2000 or XP)上のひとつのアプリケーションのようにlinuxが動いてしまうソフト。ゲストOS(内部で仮想的に動作するOS。対して実環境のOSをホストOSという)がlinuxに限られるという点を除けば、VMwareやMicrosoftのVirtualPCと同じような機能を提供してくれる。しかもオープンソースでフリーだし、性能的にも負けていない。(現時点では、内部でX Window Systemが動作しないなど、いくつか制約はある)。
レシピ
coLinuxを動かすのに最低限必要なのは、以下のものたち。
- coLinux本体
- ネットワークドライバ
- rootイメージ
- bzip2で圧縮されたファイルを解凍できるソフト- +Lhacaデラックス版推奨
coLinux本体
coLinux本体はバージョン番号がふられたものと、そうでないスナップショットがある。現在開発途上でどちらも安定版でないことには変わりはないし、スナップショットが特に不安定ということもないようなので、最新のスナップショットcoLinux-20040710.exeをダウンロードした。
ネットワークドライバ
coLinuxのインストーラーが自動的にダウンロードしてインストールしてくれるが、その前にどのようなネットワーク構成にするかを決めなくてはいけない。coLinux環境はそれ自身ひとつの独立したマシンとしてみなされるので、ホストOSのWindowsとの間のやりとりは間にネットワークドライバをはさんで行うことになる。その際coLinuxを外部からどのように見せたいかでネットワーク構成を決める。
- NAT構成 - 外から直接はcoLinuxは見えない。coLinuxにはプライベートなIPアドレスが振られ、外に出て行くときにはホストOSのIPに変換される。間にホストOSがルーターとしてはさまって、その向こうにcoLinuxがいるイメージ。
- ブリッジ構成 - coLinuxがホストOSと同列な独立したマシンとして認識される。外部と直にやりとりできるので、DHCPでIPその他の情報の取得が可能。
個人的には、PPPやPPPoEでPCが直にネットワークに接続している場合はNAT、ルーターを介して複数台のPCが接続できる環境ならブリッジにするのがいいと思う。
ネットワーク構成が決まれば、どのネットワークドライバを使えばいいかが自ずと決まる。NATの場合はTAPというドライバ、ブリッジの場合はWinPCAPを使う。ただし、Windows XPではTAPを使ってブリッジ接続することができる。WinPCAPは無線LANで使えないという制限があり環境依存な問題が発生するようなので、XPでブリッジにする場合はTAPを使うのがいいと思う。実際、今回はそうした。詳しい手順はWikiの以下のページを参照。
rootイメージ
Linuxの '/' 領域のイメージ。本体のインストーラから選んで自動でインストールすることもできるが、それだと選択肢が限られてよくわからないので、以下のページから手動でダウンロードした。Debian, Gentoo, Fedoraなど主要なディストリビューションのイメージが用意されている。
今回は Debian-3.0r0.ext3.1gb.bz2 にしてみた。
インストール
Wikiの以下のページを参考にした。
ここに書いてあることをすべて行う必要はなくて本体のインストーラーを実行したあとの簡単に流れを追うと、以下のようになる。
- rootイメージを解凍して配置
- swapファイルの準備(詳細は Add Swap Partition)
- 設定ファイル default.colinux.xml の編集(詳細は Configuration XML format
- ネットワークの設定(詳細はNetworking with coLinux)
- 起動用バッチファイルの作成
- 起動
正常に起動できてネットワークに接続できることが確認できれば、PC起動時に自動で実行されるようにサービスにすることもできる。手順は以下の通り。
TIPS
- 現状coLinuxからホストOSのファイルにアクセスするには、ネットワークを経由するしかない(逆も同じ)。samba経由でsmbfsとしてマウントする方法が一番手軽なようだ。方法がAccessing Windows Drives With Sambaに書いてある。
- あとから、ディスクのパーティションを追加することも可能。http://gniarf.nerim.net/colinux/fs/ から目的にあった大きさのパーティションのイメージをダウンロード、解凍し、設定ファイルに追加すればいい。そうするとcoLinux側では/dev/cobdn (n= 0,1,2)というブロックデバイスとして認識されるので、 /etc/fstab にそれを追加してマウントする。今回は /var に1GB、/homeに4GB追加している。

コメントする