おおいしつかさ


旅行とバイクとドライブと料理と宇宙が好き。
Ubie Discoveryのプログラマ。
Share:  このエントリーをはてなブックマークに追加

colinuxの設定方法

ひさしぶりにcolinuxのインストールを行ったのですが、毎回あちらこちらをググったりトラップにハマったりしてしまうので、自分用メモとしてここに残しておきます。

■インストール
以下のサイトからexe形式のcolinux本体と好きなディストリビューションのイメージをダウンロードします。
http://www.colinux.org/
今回はubuntuにしました(いつもubuntuしか使わないのですが)。

colinux本体をダブルクリックしてインストールを実行します。
ガイドに従って「next」をクリックしていくと、「Select components to install」を指定するダイアログになるので、Root Filesystem image Downloadはチェックを外します(もうUbuntuのイメージを持っているため)。
あとはインストール先などを指定するとインストールが開始されます。今回はc:\coLinuxをインストール先にしました。

■ディスクイメージ
ディストリビューションのイメージを解凍しておきます。そのほかに、以下のコマンドでswap用のイメージを作成します(ここでは256MB確保しています)。

fsutil file createnew swap.disk 268435456  

それからデフォルトのディストリビューションのイメージサイズは小さいので、後ほど拡張するためにここで領域だけ確保しておきます(ここでは40GB確保しています)。

fsutil file createnew new.ext3.40gb.fs 42949672960  

■設定ファイル
colinuxの設定ファイルを作成します。

kernel=vmlinux  
cobd0="c:\coLinux\Ubuntu-9.04\Ubuntu-9.04.ext3.1gb.fs"  
cobd1="c:\coLinux\Ubuntu-9.04\swap.disk"  
root=/dev/cobd0  
ro  
initrd=initrd.gz  
mem=1024  
eth0=tuntap  
cofs0=c:\coLinux  

cofsというのを知らなかったのだけど、colinuxからwindowsのフォルダをマウントできる仕組みのようです。あとでcolinux側でも設定が必要です。

■colinuxの起動
コマンドプロンプトを起動してcolinuxのインストールしたフォルダに移動し、以下のコマンドを実行します。

colinux-daemon.exe @colinux.conf  

colinux.confが、さきほど作成した設定ファイルの名前になります。

colinux用のターミナルが起動するので、アカウントroot、パスワードrootでログインします。

■Windows側のネットワーク設定
この時点で、Windows側のネットワーク接続に「ローカルエリア接続2」として「TAP-Win32 Adapter V8 (coLinux)」と書かれたものが登場しているはずです(ネットワーク接続はコントロールパネルなどからひらけます)。
このローカルエリア接続2を右クリックし、「プロパティ」を選択します。
ここで、インターネットプロトコルバージョン4(TCP/IPv4)を選択し右クリックすると、IPアドレスの設定画面がひらきます。ここで以下のように入力します。

IPアドレス : 192.168.2.1  
サブネットマスク 255.255.255.0  

あとはすべて空欄です。DNSも「次のDNSサーバのアドレスを使う」を選択しておいてIPアドレス自体は空欄にします。
ここで指定するIPアドレスは任意のプライベートアドレスですが、現実のLANで使用しているものとはネットワークアドレスをわけておきます。

次に、Windows機から実際にネットワークにつながっている接続(有線なら「ローカルエリア接続」、無線なら「ワイヤレスネットワーク接続」になっていることが多いと思います)を右クリックし、「プロパティ」を選択します。
次に「共有」タブを選択し、「ネットワークのほかのユーザーに、このコンピュータのインターネット接続をとおして接続を許可する」をチェックします。
さらに「ホームネットワーク接続」には先ほど設定した「ローカルエリア接続2」を選択します。

■ファイヤーウォール設定
ローカルエリア接続2に関するファイヤーウォールの設定ははずしておきます。これをやっておかないと、Windowsからcolinuxにはpingが飛ぶのに、colinuxからWindows側へはpingが飛ばないというような状態になることがあります。

■colinux側のネットワークの設定
/etc/network/interfacesを開き、以下のように設定します。

auto lo eth0  

iface eth0 inet static  
  address 192.168.2.2  
  gateway 192.168.2.1  
  netmask 255.255.255.0  

iface lo inet loopback  

gatewayにはWindows側の「ローカルエリア接続2」で設定したIPアドレスを指定します。

さらに/etc/resolv.confを開いて以下のように設定します。

nameserver 192.168.2.1  

次に以下のコマンドで設定を反映させます。

/etc/init.d/networking restart  

設定が正しく行えたかどうか、ifconfigやpingなどで確認を行います。インターネットまで接続できることが確認できれば大丈夫です。

■cofsの設定
colinux側からWindowsのフォルダをマウントするために以下の設定を行います。
まずホームディレクトリにマウント用のディレクトリを作成します。

mkdir win  

次に/etc/fstabを開いて以下の行を追加します。

cofs0:data /home/tsukasa/win cofs uid=tsukasa,gid=tsukasa 0 1  

これで次にcolinuxを起動したときには c:\coLinux\dataが/home/tsukasa/winにマウントされるようになります。

■サービスの登録
一度colinuxをshutdownして終了します。
windowsのコマンドプロンプトから以下のコマンドを実行します。

colinux-daemon.exe --install-service "colinux" @ubuntu.conf  

これでWindowsのサービスに登録されます。自動起動設定にしておけば、いつでもcolinuxを使うことができて便利です。

■ディスク容量の増強
ディストリビューションのイメージはそれほど大きくないので、必要な分だけ拡大します。
最初にnew.ext3.40gb.fsという名前で40GBのファイルを作りましたが、それをOSのイメージファイルにします。

まずcolinuxの設定ファイルを開いて、以下のように40GBのファイルを追加します。

cobd2="c:\coLinux\Ubuntu-9.04\new.ext3.40gb.fs"  

colinuxを起動し、以下のコマンドを実行します。
これで、cobd0の内容をすべてcobd2にコピーすることができます。

e2fsck /dev/cobd0  
dd if=/dev/cobd0 of=/dev/cobd2  
e2fsck -f /dev/cobd2  
resize2fs -p /dev/cobd2  
e2fsck /dev/cobd2  

けっこう時間がかかりますが気長に待ちます。
すべての処理が終わったら一度colinuxを落とし、設定ファイルのcobd0をコメントアウトしてcobd2をcobd0に変更します。