coLinux インストール

Linux っぽい環境で開発したい、でも Linux をメインにするのは正直辛い。
cygwin は ls が遅すぎる。*1 *2
というわけで coLinux をインストール。

coLinux 公式
参考にしたサイト

バージョンは 0.7.2 。
ダウンロードしてインストーラを起動。
コンポーネントは全て選択。
Root file system image は Gentoo Deluxe で。
→挫折。マニアックすぎた。
気持ち新たに Debian で。



ディレクトリ構成
 C:\
   coLinux\
     coLinux インストールディレクトcolinux-daemon.exe とか
   coLinux-debian\
     Debian-4.0r0-etch.ext3.1gb  ルートイメージ
     debian.conf 設定ファイル
     fs_1024Mb.fs スワップ用イメージ
     debian.bat テスト用起動バッチ
   data\
     coLinux からマウントしたいディレクト

fs_1024Mb.fs は http://gniarf.nerim.net/colinux/swap/ から落としてきたものをリネームしただけ。

debian.conf の中身
 kernel=vmlinux
 cobd0="c:\coLinux-debian\Debian-4.0r0-etch.ext3.1gb"
 cobd1="c:\coLinux-debian\fs_1024Mb.fs"
 root=/dev/cobd0
 ro
 initrd=initrd.gz
 mem=128
 eth0=tuntap
 cofs0=C:\data\
debian.bat の中身
 @echo off
 cd "C:\coLinux"
 colinux-daemon @C:\coLinux-debian\debian.conf

debian.bat から起動。
root:root でログイン。ちゃんと動いてるっぽい。
さっさとネットワークと ssh だけ設定して後は外からやろう。


ネットワーク設定。
まず Windows 側の「ネットワーク接続」でブリッジを作っておく。
http://scratchpad.fc2web.com/colinux/install-0.7/install-5-3.html

次、 Debian 側。
この Debian イメージでは、予め Slirp 接続用の設定になっていて、 inet address が 10.0.2.15 固定になっていたりする。ので弄る。

/etc/network/interfaces
 auto lo eth0
 iface eth0 inet static
 address 192.168.1.40
 gateway 192.168.1.1
 netmask 255.255.255.0
 iface lo inet loopback
/etc/resolv.conf
 nameserver 192.168.1.1

nameserver は Windows と同じ設定で良い。わからなければ ipconfig /all で DNS Server の項目。とりあえずは動く。
/etc/init.d/networking restart
でネットワーク設定を反映させる。ping して繋がれば OK 。
あとは好みで hosts をいじっておく。


ssh のインストール。に先だってパッケージシステム周りだけ用意しておく。

 apt-get update
 apt-get install aptitude

で、 ssh インストール。

 aptitude install ssh

終わったら自動的にデーモンが起動する。
ssh ログイン用に適当なユーザを作る。

 adduser hick
 passwd hick
 *******
 *******

ssh で接続できたら一旦 halt 。
……する前にスワップWindows ファイルシステムのマウントもやっとくか。
mkdir でマウントするディレクトリを作っておく。ここでは /mnt/data にした。

/etc/fstab の中身
 proc       /proc     proc defaults                  0       0
 /dev/cobd0 /         ext3 noatime,errors=remount-ro 0       1
 /dev/cobd1 none      swap sw                        0       0
 cofs0:/    /mnt/data cofs uid=hick,gid=hick         0       0

で、 halt 。


Windows サービスとして登録する。
Windowsコマンドプロンプト

 C:\coLinux\colinux-daemon @C:\\coLinux-debian\\debian.conf --install-service

でサービスに登録する。
(ちなみにサービス削除は colinux-daemon --remove-service)
管理ツールのサービスから起動させて ssh からログイン。


aptitude upgrade でパッケージを最新のものにする。
あとさしあたって必要そうな sudo と vim をインストール。

 aptitude upgrade
 aptitude install sudo
 aptitude install vim-full

日本語用設定

 aptitude install locales util-linux-locales
 dpkg-reconfigure locales

dpkg-reconfigure でのオプション選択は、面倒なので全てにしておく。デフォはなし。


あとは .bashrc と .vimrc を好みに弄って終わり。
特に、 .vimrc には set nofsync をつけておく。
マウントした Windows ファイルシステム以下に、 vim からファイルを作成しようとすると、エラー (E667 fsync failed) 吐くから。
.bashrc には export LANG=ja_JP.UTF-8 をつけておく。
Windows 側の日本語ファイル名がちゃんと表示された。すげえ感動。

*1:cd するたびに ll する癖があるんだ、私には

*2:というか cd + ll なスクリプトも多用するんだ