coLinux導入メモ

Last Updated: 2005-06-08 (Created: 2004-03-06)

0 更新履歴


1 参考リンク


2 導入

※1: アンインストールすると、default.colinux.xmlも削除されます。アンインストールする前にバックアップを取っておくようにしましょう。アンインストールせずに再インストールすると、default.colinux.xml.oldにリネームされますので、既に導入済みの場合は上書きインストールが無難かと思われます。ネットワークドライバまわりでおかしくなる可能性があるので上書きインストールには注意が必要なようです。ただし、アンインストール後に再インストールすると、ネットワーク接続名の末尾番号が勝手に1つ増えていることがあります。そのような場合には「名前の変更」で適宜修正してください。

※2: 以前あったSMPもしくはHTでハングアップする問題は、とりあえず解消されているようです。(CPU1個に無理矢理張り付けるそーな←伝聞)

ERROR STORMさんのところの「coLinuxインストール方法」を参照して作業を行う。ただし、このページでは次の点が異なっている。

以下の手順にて作業する。なお、ERROR STORMさんのところと重複する部分については基本的に説明を省略している。

  1. coLinuxインストーラを入手する。

  2. インストーラを実行する。
    「Root Filesystem image Download」にチェックを入れると、次の画面でディストリビューション選択画面が表示される。ここではDebianを選択する。(※ディスクイメージは、インストール先のディレクトリにダウンロードされる。ただし、bzip2で圧縮されたままであることに注意)
    また、ネットワークはTAP-Win32を用いるものとする。

  3. インストール完了後、デバイス名が「TAP-Win32 Adaptor」になっているネットワークアダプタ接続のプロパティを開く。ここでは「ローカル エリア接続 2」になっているものとする。
    ※coLinuxを一度削除して再インストールした場合、TAPドライバのネットワーク接続名が変わり、設定もリセットされるため、注意が必要である。なお、ネットワーク接続名は「名前の変更」で元に戻すことができる。

  4. ※以下の設定はWindows XP SP2のWindows Firewallとは共存できない。(原因と対策)
    当方の環境では既に192.168.0.0/24でネットワークを組んでしまっており、「インターネット接続の共有」は使えない。そこで、Linux Zaurusで行ったのと同様の手順(「3 母艦の設定」を参照)でWindowsをルータ化する。

    1. [コントロールパネル]→[管理ツール]→[サービス]を開く。
    2. [Routing and Remote Access]を開き、[スタートアップの種類]を[自動]に変更して[適用]を押した後、[開始]を押す。
    3. [Windows Firewall/Internet Connection Sharing (ICS)]を開き、[停止]を押した後、[スタートアップの種類]を[無効]に変更して[適用]を押す。
    4. 設定用バッチファイルを環境に合わせて適宜変更し、NATの設定を行う。変更時は接続名に含まれる空白に注意。

    このドキュメントの改訂中、上記のサービスの設定変更を忘れて「pingが通らん」と頭を抱えてた私がそこにいたり。orz

  5. 「ローカル エリア接続 2」のIPアドレスを設定する。ここでは「192.168.128.1/255.255.255.0」とする。実体を持つマシンが存在しないので感覚的にわかりづらいが、ここに設定するのはWindows側のIPアドレスであることに注意。この仮想的なNICの先にcoLinuxの仮想マシンが接続されている。仮想マシン側のIPアドレスの設定はcoLinux起動後に行う。

  6. ※ファイアウォール(Norton Internet Securityなど)を使用している場合、coLinuxを設定したネットワークからのアクセスを許可するように設定する必要がある。

  7. 以降は基本的にインストール先のディレクトリで作業する。まず、ダウンロードしたディスクイメージ(Debian-3.0r2.ext3-mit-backports.1gb.bz2)をbunzip2コマンドで展開し、ファイル名を「root_fs」にリネームする。

  8. swapパーティション用の領域を用意する。ここでは256MBの領域を作成している。(確保する領域が大きいと非常に時間がかかる)

    dd if=/dev/zero of=swap_device bs=1M count=256
    

    必要ならば、ホーム用のパーティションなども作成しておく。

  9. default.colinux.xmlの記述は、(本稿記述時点では)インストール先によって自動的に変更されるわけではないため、必要に応じてroot_fsとswap_deviceのpath名を変更する。追加のパーティションやメモリサイズ設定、ネットワーク設定なども必要に応じて追加/変更する。

  10. インストール先のディレクトリで、以下のコマンド(bashの場合)を実行してcoLinuxを起動する。(※いつの間にか起動オプションが必要になっていた)

    ./colinux-daemon -c default.colinux.xml &
    
  11. コンソールが開き、ブートメッセージが流れた後ログインプロンプトが出たら、ID「root」、パスワード「root」でログインする。初期状態ではキーボードの認識がUS配列のままなので、日本語キーボードを使用している場合は次の手順でキーマップを変更する。「dpkg-reconfigure console-data」を実行し、「Select keymap from arch list」→「qwerty」→「Japanese」(「J」キーをタイプすることでショートカットできる)→「Standard」を選択すると、キーマップが日本語配列に設定される。

  12. 次にネットワークの設定を行う。nanoエディタ(何故かviは標準で入っていない)等を用いて「/etc/network/inserfaces」を以下のように編集する。

    iface eth0 inet static
       address 192.168.128.128
       netmask 255.255.255.0
       gateway 192.168.128.1
    
  13. 次に「/etc/resolv.conf」を編集してDNSの設定を行う。Windows側にはDNSプロキシの設定がなされているため、TAPのIPアドレス「192.168.128.1」をそのまま指定してやればよい。

  14. 必要に応じて「/etc/apt/sources.list」を修正する。もしHTTP/FTPプロキシを越える必要がある場合は、さらに「/etc/apt/apt.conf」に「Acquire::http::Proxy "http://PROXY_SERVER_HOST:PORT/";」を記述する。(※末尾のセミコロンに注意。また、当然のことながら、PROXY_SERVER_HOSTやPORTは適宜読み換えること)

  15. 「/etc/init.d/networking restart」でネットワークの設定を反映する。

  16. pingやtelnet等を用いて、外部のネットワークにアクセスできることを確認しておく。アクセスできなければ、ファイアウォールの設定などを見直す。

  17. 「apt-get update; apt-get dist-upgrade」でパッケージを全て更新する。

    途中で出てくるダイアログは基本的に全てデフォルトでOK。

  18. 「apt-get install ssh sudo」でsshとsudoをインストールする。

  19. 「adduser」で一般ユーザを作成する。

  20. 「visudo」に上記のユーザIDに関する設定を追記。一番簡単なのはrootの設定を引き移すこと。以後の作業はsshを介したリモートで実施可能。

  21. cygwin環境にて、/etc/hosts(=%SYSTEMROOT%\system32/drivers/etc/hosts)にcoLinuxのホスト名とIPアドレスを登録する。ここではホスト名を「colinux」とする。

  22. rxvt-jaの中から「cocot ssh colinux」を実行し、coLinux環境にログインする。

  23. (一時的に)PATHに「/sbin」と「/usr/sbin」を加えておく。

  24. 設定にいくつかあやしい部分があるので、それを直す。

  25. デフォルトのタイムゾーンを設定する。「tzconfig」を実行し、「y」、「5」(Asia)、「Tokyo」を入力するとJSTになる。(再現調査をしていないが、デフォルトのタイムゾーンが設定されていないと起動時にsyslogdがコケるらしい)

  26. swapの設定を行う。設定ファイルで指定したswapは/dev/cobd1につながっているので、「mkswap /dev/cobd1」で設定し、/etc/fstabに記述しておく。追加のパーティションがある場合には、mkfsでファイルシステムを設定し、同じく/etc/fstabに記述しておく。(fstabの参考例)

    なお、swapをリブートなしに有効にするには「swapon -a」を実行する(/etc/fstabを参照してswapを有効化する)。有効になっているかどうかは「swapon -s」で確認できる。

  27. lib/modules以下に「uname -r」に対応するディレクトリが存在しない場合、インストールしたディレクトリに配置されたvmlinux-modules.tar.gzをcoLinuxに転送し、スーパーユーザ権限で「/」から展開する。

    scp vmlinux-modules.tar.gz colinux:/tmp
    ssh colinux
    sudo su -
    cd /
    tar xvfz /tmp/vmlinux-modules.tar.gz
    rm /tmp/vmlinux-modules.tar.gz
    
  28. 最低限必要なパッケージを放り込んでおく。例えば「sudo apt-get install locales host jless」。設定を途中してしくじった場合は、インストール後に「dpkg-reconfigure パッケージ名」で再設定が可能。なお、localesでja_JP.UTF-8を追加した場合、メモリが少ないと途中でコケるので注意(swapなしでメモリ64MBだとNGだった)。localesについては何故かapt-getから出るメニューによる指定が反映されないので、apt-get後に「dpkg-reconfigure locales」で設定する必要がある。

  29. 一通り設定できたら「shutdown -h now」でシャットダウンして、再度起動する。なお、ショートカットなどからcoLinuxを起動する場合、cygwin Xに含まれているrun.exeというコマンドを用いれば、コマンドプロンプトウィンドウを出さずに済む。また、colinux-daemonに「-d」オプションを付けるとコンソール画面も表示されなくなる。

  30. 起動時に毎回coLinuxを起動するのが面倒、という向きには、coLinuxをサービスとしてインストールする方法もある。手順は簡単で、「./colinux-daemon -c default.colinux.xml --install-service」を実行した後、コントロールパネル→管理ツール→サービス→「Cooperative Linux」から起動/停止および設定変更を行う。

    アンインストールは、サービスを停止した上で「./colinux-daemon --remove-driver」を実行すればよい、はず(未検証^^;)。


[TOP]