Gentooを稼動させるためのcoLinux設定方法

IWBCMAN  Author
janlaur  Author
Joshua Preston  Editor
Jon Portnoy  Editor
武田洋之  翻訳

更新日 2005年 7月 26日
この翻訳はすでにメンテナンスされていません。

1.  導入

coLinuxとは何か?

coLinuxとは、Windowsのデーモンプログラムです。 LinuxカーネルをWindowsのネイティブスレッドとして実行するために開発され、 実際LinuxをWindows上でネイティブに動作させることができます。

あなたの主な関心事は、恐らくパフォーマンスでしょう。 Xアプリケーションのパフォーマンスは悪いですが、使うことは可能です。 一般的なアプリケーションは、本当のLinuxと同等の速度で動作します。

警告: coLinuxは、まだ開発の初期段階です。 十分に動作しますが、サポートされていない多くの機能があります。

このHOWTOは、IWBCMANとjanlaurによってGentooフォーラム で提供されている、2つのすばらしいHOWTOを結合し、編集したものです。 これらの議論については、以下のリンクからたどることができます:

2.  インストール

coLinuxの取得

警告: coLinuxを使うには、Windows 2000、2003、またはXP (Home/Professional)でなければなりません。

coLinux.orgから最新のスナップショットをダウンロードしましょう。

注意: このHOWTOでは、coLinux-20040417.exeを使用しています。 スナップショットには、複数のバグフィックスも含まれていますので、 (正式リリースではなく)スナップショットを使うことをお奨めします。

ダウンロードした.EXEファイルは、インストーラープログラムで、 基本的なディストリビューションイメージ(Gentoo/Debian/Fedora)をSourceForge からダウンロードさせることも可能です。

.EXEを実行し、必要ならデフォルト値を変更してください。 もちろん、ディストリビューションを選択する場面では、Gentooを選びます。

イメージファイルは、インストール先のディレクトリにgentoo-i586-ext3-2g-deluxe.bz2という名前で保存されます。

この新しい仮想パーティションファイルは、stage3からインストールしたGentooシステムが含まれています。 実際には、単にstage3からインストールされた状態ではなく、XFree86、XFCE4、Firefox、GAIM、そしてXChatも含まれています。 そして、この仮想パーティションはext3でフォーマットされています。

もしWindowsでbz2を解凍するツールを持っていないならWinrarがいいかもしれません。 coLinux Nice Tools pageを訪れて、イメージファイルを展開するツールと仮想スワップパーティションを作成するツールを探してください。

3.  設定

設定ファイルの編集

設定ファイルは1つだけです。インストールしたディレクトリにあるdefault.colinux.xmlというファイルがそれです。 お好みのエディタで開き、次のように編集してください。 (訳注:日本語のコメントを書く場合は、XMLのルールに従って、encodingで指定される文字コードで保存するように注意してください。ただし、私はUTF-8以外は試していません。)

コード表示 3.1: default.colinux.xml

<?xml version="1.0" encoding="UTF-8"?>
<colinux>
    <!-- あなたの環境ではパスは異なるでしょう -->
    <block_device index="0" path="\DosDevices\e:\gentoo-i586-ext3-2g-deluxe" enabled="true"></block_device>
    <bootparams>root=/dev/cobd0</bootparams>
    <image path="vmlinux"></image>
    <!-- サイズは調整してください -->
    <memory size="256"></memory>
    <!-- name= には、ネットワーク接続にあるTAPデバイスと正確に同じ名前にしてください!-->
    <network index="0" type="tap" name="TAP"></network>
</colinux>

イメージへを解凍した場所へパスを変更し、coLinuxに対して割り当てるメモリのサイズを変更してください。

ネットワークの設定

現時点で、colinux-daemon.exeをダブルクリックすればcoLinuxを起動できますが ほとんどの人は、ネットワークを必要とするでしょう。 立ち上げる前にまずこれを設定してしまいます。 仮想ネットワークアダプタをインストールしている必要があります。 (訳注:最新のスナップショットcoLinux-20040509.exeでは次の手順を踏まなくても、インストーラのデフォルトの設定でTAPインタフェースをインストールしてくれます。)

これで仮想ネットワークアダプタが設定されました。 仮想ネットワークアダプタは、既にあなたのシステムにある他のアダプタと同じように設定することができます。

Windowsはネットワークブリッジを作成するはずです。 もし、インターネットへの接続が有効であれば、恐らくちゃんと動いている証拠です。 (訳注:ブリッジ接続ができるのはWindowsXPだけです。Windows2000では、coLinuxからインターネットなど外部ネットワークへ接続するにはNATしてやる必要があります。WindowsでNATするには、例えば"ローカルエリア接続"を右クリックして、プロパティ->詳細->インターネット接続の共有のチェックを入れてください。)

起動

さあこれでcolinux-daemon.exeを起動する準備ができました。 マジックを見てみましょう。 XFree86や、XFCE4、GAIM、kernel-2.4.26、他のにもあなたが望むような基本的なものがインストールされたGentooシステムが起動するのを見ることができるでしょう。

もしログインしたら、最初にいくつかやっておくことがあります。

おそらく、あなたのシステムをアップデートしたくなるでしょう。それではアップデートしてしまいましょう:

コード表示 3.2: 設定の仕上げ

# emerge --sync
# env-update && source /etc/profile
(もしvncを使いたいなら)
# emerge tightvnc

さて、ここでXの設定をする必要があります。 もし適用できるなら単純にあなたのLinuxからcoLinuxへ/etc/X11/XF86Configをコピーしてくるだけです。

注意: Xと一緒に配布されているドライバしか使うことはできません(すなわち、nvidia-glx/kernelは使えません)。 また、color depthは16しか動作しないように思えます。 したがって、少し設定をいじる必要があるかもしれません。 Windowsのビデオカードに直接はアクセスできないということを覚えておいてください。 そのため、どこか他のところからコピーしてくるか、手動で作成する必要があります。 あるいは、KNOPPIXで起動して、KNOPPIXにあなたのマシンにあったXF86Configファイルを作らせてもよいでしょう。

XF86Configの編集が終わったら、~/.vnc/xstartupを作成しましょう:

コード表示 3.3: Sample ~/.vnc/xstartup

startxfce4 &

では、vncserverを起動してみましょう。 パスワードを聞かれると思いますので、作成して、記憶しておいてください。

コード表示 3.4: vncserverを起動する

$ vncserver -geometry "1024x768" -depth 16

Windowsから接続するには、Windows用のVNCをダウンロードしなければなりません。 vncviewrを起動し、パスワードと共に、仮想ネットワークアダプタに(例えば、192.168.0.X:1のような)IPアドレスを振ります。 もしうまく行けば、vncviewerは、XFCE4デスクトップを表示するでしょう。楽しんで!

4.  一歩進んだ話題

スワップパーティションの追加

スワップファイルをhere からダウンロードしてください(ファイル名はswapsizeです)。容量に空きのあるところに展開し、 default.colinux.xmlに次の行を追加してください:

コード表示 4.1: スワップドライブの追加

    <-- index="1"は、/dev/cobd1にマッピングされます -->
    <-- 訳注:この例はスワップファイルがswap-fileという名前でe:\ドライブにある場合です -->
    <block_device index="1" path="\DosDevices\e:\swap-file" enabled="true"></block_device>

それでは、coLinuxを(再)起動し、mkswapを実行してください:

コード表示 4.2: スワップパーティションの設定

# mkswap /dev/cobd1

/etc/fstabに次の行を追加する必要があります:

コード表示 4.3: Add to /etc/fstab

/dev/cobd1    none    swap    sw    0    0

それでは、スワップを再起動なしに有効にしましょう。

コード表示 4.4: スワップを有効にする

# swapon -a

coLinuxから、Linuxパーティションにアクセスする

coLinuxウェブサイトは基本原理を提供しています。 読み終えたら、設定ファイルは次のようになるでしょう:

コード表示 4.5: Linuxパーティションにアクセスするためのdefault.colinux.xml

<?xml version="1.0" encoding="UTF-8"?>
<colinux>
    <block_device index="0" path="\DosDevices\e:\gentoo-i586-ext3-2g-deluxe" enabled="true"></block_device>
    <block_device index="1" path="\DosDevices\e:\swap-file" enabled="true"></block_device>
    <!-- あなたの環境のディスク構成によって、パスの部分などは異なります -->
    <block_device index="2" path="\Device\Harddisk0\Partition5" enabled="true"></block_device> 
    <bootparams>root=/dev/cobd0</bootparams>
    <image path="vmlinux"></image>
    <memory size="256"></memory>
    <network index="0" type="tap" name="TAP"></network>
</colinux>

設定を反映するには、coLinuxを(再)起動する必要があります。 You will have to (re)start coLinux to let the changes be taken into account. "\Device\Harddisk0\Partition5"に/dev/cobd2を通してアクセスできるはずです。

コード表示 4.6: Linuxパーティションのマウント

# mount /dev/cobd2 /mnt/linux

重要: Windowsが使用していないパーティションにのみうまく動作することを覚えておいてください。 Windowsが使用しているパーティションについては、smbfsを通してアクセスする必要があります、。

5.  Q&A

どのUSEフラグを使うべきですか?

USEフラグは、ネイティブLinuxシステムと全く同様です。

ダイアルアップ接続を共有できますか?

Linuxネットワークを外部のネットワークに接続するには、インターネット接続の共有を使います。 TAP接続をPPP接続にブリッジすることで実現します。

Linuxカーネルは、ハードウェアにアクセス可能ですか?

coLinuxは、必要とされるいろいろな種類のハードウェアをエミュレートします。 例えば、ディスクアクセス、ネットワークなどです。 まだサポートされていないのはUSBと、グラフィックカードへの直接アクセス、そしてサウンドカードへのアクセスです。 現在、coLinuxでは、USBを使えるようにするために作業中です(ただし、USBキーボードとUSBマウスは除きます)。

coLinuxに代わるものはありますか?

はい!

(訳注:User Mode LinuxのWindowsへの移植であるumlwin32というプロジェクトもあります。)

coLinuxはカーネル2.6で動作しますか?

現時点では、「いいえ」です。 Windowsとリソースを共有したり、デバイスをエミュレートするためにあてるパッチは、2.4カーネルをベースにしています。

なぜXは動作しないのですか?

ネイティブなXのサポートはありません。 vncもしくは、CygwinのX11を使わなければなりません。 このHOWTOにある指示に従って設定してください。

6.  最後に

coLinuxが秘める可能性はまさに驚嘆すべきものです。 Apache、Samba、DHCP、mail、distcc、NFS、どんなサーバーでもcoLinux上で動かすことができます。 デバイスやディスクアクセスを除けば、Windows上でLinuxが動いているなんて誰にもわかりません。 これは本当に驚くべきことです。