coLinux 0.6.4 (2006/07/02 リリース) のインストールおよび初期設定についての説明です。coLinux をインストールし、ネットワークに接続できるようになるまでの設定を WWW 上の情報を元にまとめてみました。
目次
前提
本稿では、ソフトウェアのバージョンや動作環境について、以下を前提としています。
- Windows XP SP2
- coLinux 0.6.4
- ネットワークは TAP-Win32 を使用
- ディストリビューションは Debian を使用
僕のスキルは、Unix 系 OS は 「ほどほど」 に使ったことがある、システム管理の経験は若干ある、という程度です。
ダウンロードとインストール
sourceforge から coLinux-0.6.4.exe をダウンロードし、起動してインストールを開始します。
途中、コンポーネントの選択画面では、全選択。多分、WinPcap は使わないと思いますが、とりあえず。
WinPcap もインストールしたので、「WinPcap をダウンロードしてインストールしてね」 という表示。気にしない。
ディストリビューションは Debian を選択。
TAP-Win32 Adapter(仮想 NIC)のインストール許可ダイアログ。もちろん 【続行】 を選択。
以上で完了。インストールは特に問題無し。
- 参考リンク : ERROR STORM – coLinuxのインストール
初回起動前の作業
インストール後、起動前に必要な作業をまとめてみました。
ファイル・システムの用意
ファイル・システムを置くディレクトリ D:\colinux\ を作成し、そこにファイルをコピーします。
- coLinux のインストール・ディレクトリ ((デフォルトでインストールした場合は “C:\Program Files\coLinux\” です。)) にある *.bz2 ((0.6.4 では “Debian-3.0r2.ext3-mit-backports.1gb.bz2” です。)) を解凍して D:\colinux\ にコピーして、root_fs にリネーム。
- coLinux のインストール・ディレクトリにある vmlinux を D:\colinux\ にコピー。
swap 領域の確保
swap 領域を確保するために、コマンド・プロンプトから以下のコマンドを実行します。ここでは 256MB を確保します。
C:\>D: C:\>cd D:\colinux C:\>fsutil file createnew swap_device 268435456
D:\colinux\ に swap_device という 256MB のファイルが作成されます。
面倒な場合は以下のファイルをダウンロードして解凍。
- 64MB swap_device_64MB.gz
- 128MB swap_device_128MB.gz
- 256MB swap_device_256MB.gz
設定ファイルの編集
インストール・ディレクトリにある coLinux の設定ファイルを編集します。
default.colinux.xml の block_device 要素を以下のように編集します。
[xml]
<block_device index="0" path="\DosDevices\D:\colinux\root_fs" enabled="true" />
<block_device index="1" path="\DosDevices\d:\colinux\swap_device" enabled="true" />
[/xml]
以上で準備完了です。コマンド・プロンプトから以下のコマンドを実行し、動作するかを確認します。
C:\>colinux-daemon.exe -c default.colinux.xml
正常にインストールできていれば、コンソール・ウィンドウ (Cooperative Linux consol) が表示され、Linux が起動します。ログイン・プロンプトが表示されたら、ユーザー名 root、パスワード root でログインします。
サービスへの登録
正常に動作することが確認できたら、サービスに登録します。コマンド・プロンプトで以下を実行します。
C:\>cd C:\Program Files\coLinux C:\>colinux-daemon -c "C:\Program Files\coLinux\default.colinux.xml" --install-service
あとは Windows のサービス・スナップインで設定すれば、Windows の起動時に coLinux が自動的に起動するようになります。
補足 : ブルースクリーンで落ちる場合
以前、Pentium 4 搭載 PC で使っていたときに、coLinux 起動直後にブルースクリーンで落ちるということがありました。ちょっと調べてみたら、2ch の某スレで原因らしきものを発見。要約すると、
- Hyper Threading な Pentium 4 だと不具合が出るバージョンもあるらしい。
- 前のバージョンや Snapshot を試してみる。
- SMP(対称型マルチプロセッサ)だと不具合が出るバージョンもあるらしい。
- 環境変数 COLINUX_NO_SMP_WORKAROUND=Y を設定。
- データ実行防止(DEP)機能が有効だと正常動作しない。
- DEP を無効にする。
- 参考 : Getting Started with coLinux
- 参考 : データ実行防止(DEP)機能を無効にする
ということだそうです。僕の場合は原因は 3. でした。対策として boot.ini に /noexecute=AlwaysOff を指定したら、正常に起動するようになりました。
現在の VAIO type T (VGN-TX91PS, Pentium M) は、/noexecute=optin になっていますが、今のところ正常に動いています。
初期設定
coLinux を使い始めるために必要な設定をまとめています。
ネットワークの設定
ネットワークの設定は、Windows XP では最も簡単だと思われる TAP-Win32 でのブリッジ接続としました。
IP アドレスの設定
coLinux 側の NIC に IP アドレスを設定するには、
- Windows 側で物理的な NIC と TAP-Win32 の仮想 NIC とのブリッジを作成
- coLinux 側で eth0 に IP アドレスを割り当て
という作業が必要です。
まず、Windows 側で、物理的な NIC と TAP-Win32 仮想 NIC のブリッジを作成します。【ネットワーク接続】 ウィンドウで、ブリッジしたい接続を複数選択し、右クリック → 【ブリッジ接続】 で作成。
次に coLinux 側で IP アドレスを設定します。最初は vi も入っていないので、とりあえず ifconfig で設定。 root でログインし以下のコマンドを実行して、IP アドレスと、デフォルト・ゲートウェイを設定します。
# ifconfig eth0 192.168.1.21 # route add default gw 192.168.1.254
確認のために、Windows 側の IP アドレス、ルータなどに PING を打って帰ってくることを確認します。
ここまでは暫定的な設定で、coLinux をリブートすると IP アドレスの設定が元に戻ってしまいます。続けて以下の設定が必要です。
DNS の設定
Windows が DNS プロキシとなるので、/etc/resolv.conf にはデフォルト・ゲートウェイのアドレスを書いておきます。
nameserver 192.168.1.254
/etc/resolv.conf は以上の 1行だけでOKです。
/etc/network/interfaces の編集
apt-get が使えるようになったので、vi をインストールして/etc/network/interfaces を編集します。
# apt-get install nvi
として vi をインストールしてから、以下のように編集。
address 192.168.1.21 netmask 255.255.255.0 gateway 192.168.1.254
これでリブート後も設定した IP アドレスとなります。
/etc/hosts, /etc/hostname の編集
/etc/hosts に自分の IP アドレスとホスト名を書いておきます。僕はホスト名はデフォルトのまま colinux としました。/etc/hostname にもホスト名を書いておきます。
ついでに Windows 側の C:\WINDOWS\system32\drivers\etc\hosts にもホスト名 colinux を追加しておきます。
補足 : Windows 側 IP アドレスの設定
当たり前ですが、Windows 側の IP アドレスを DHCP で取得に設定していると、ネットワーク・ケーブルを抜いたら coLinux と通信できなくなります。デスクトップ PC などの場合は良いですが、ノート PC など、ネットワーク・ケーブルを抜いた状態で使う可能性がある場合は、固定 IP アドレスを割り当てておいたほうが無難です。
キーボードの設定
コンソールのキー配列は US 配列です。このままでも使えないことは無いのですが、パスワードの打ち間違いを防ぐためにも JIS 106 配列に変更しておきます。以下のコマンド
# dpkg-reconfigure console-data
を実行してから、【Select keymap from arch list】 → 【qwerty】 → 【Japanese】 → 【Standard】 です。
root パスワードの設定
何は無くとも passwd で設定しておきます。
タイムゾーンの設定
tzconfig コマンドで Tokyo に変更します。
apt-get の参照先の変更
なるべく近い場所に apt-get の参照先を変更しておきます。 lynx と netselect をインストールしてから最も近いミラーサイトを検索します。
# apt-get install netselect # apt-get install lynx # netselect -vv `lynx -dump http://www.debian.or.jp/debian-ftp-mirrors-jp`
表示された結果の中で最もスコアの良い( [ ] 内の数値が小さい)ミラーサイトの sources.list を取得して /etc/apt/sources.list と入れ替えます。僕の場合は ring.airnet.ne.jp でした。
# apt-get install wget # wget http://www.debian.or.jp/apt/sources.list.http.ring.airnet.ne.jp # mv /etc/apt/sources.list /etc/apt/sources.list.orig # mv ./sources.list.http.ring.airnet.ne.jp /etc/apt/sources.list
これでパッケージの取得が早くなります。
最新環境への更新
apt-get の参照先を変更したので、早速、最新の環境に更新します。以下のコマンドを実行。
# apt-get update # apt-get dist-upgrade
いろいろ聞かれますが全部デフォルトで。
swap の有効化
設定ファイルで指定した swap ファイル “swad_device” は、/dev/cobd1 に繋がっています。以下のコマンドを実行して swap 領域を作成します。
# mkswap /dev/cobd1
/etc/fstab に以下の 1行を追加し、swap を有効にします。
/dev/cobd1 none swap sw 0 0
リブートまたは swapon -a を実行した後、free で swap が有効になっていることを確認します。
ユーザーの作成
普段使うユーザーを登録しておきます。
# adduser foo
foo は適当なユーザー名を指定します。
以上で初期設定は完了です。