設定ファイルの作成
ここでは、coLinuxの設定ファイルを作成することによって、 coLinuxに割り当てるメモリサイズと ディスクイメージファイルの指定します。
これらは c:\coLinuxにあるファイル example.confを ベースに作成します。 まずはexample.confをコピーしてcolinux.conf というファイルを作成しましょう。 以降ではこのファイルを編集します。
設定ファイルの詳細説明は 「coLinux 0.7.xからの変更点」 も参照してください。
メモリの割り当て
これはcolinux.confのmemの部分を編集します。 デフォルトではコメントアウトされており、 この場合はメインメモリの1/4(最低は16MB)になります。 私はメモリサイズを制限したかったので128MBにしてみました。
mem=128
ディスクの割り当て
これはcolinux.confのcobd0とcobd1の部分を編集します。 coLinuxからは、 cobdXで指定したディスクイメージをデバイスファイル (/dev/cobd0とか/dev/cobd1とか)でアクセスすることができます。
/dev/cobd0にルートディクスイメージ(root.img)を、 /dev/cobd1にスワップディスクイメージ(swap.img)を割り当てるには 以下のようにします。
cobd0=c:\coLinux\root.img cobd1=c:\coLinux\swap.img
ブートパラメータの指定
これはcolinux.confのroの行を確認します。 この行の記述がLinuxカーネルの起動時に、パラメータとして渡されます。
これはデフォルトのままで大丈夫です。
ro
ルートデバイスの指定
これはcolinux.confのrootの行を確認します。 coLinuxはこのデバイスをルートデバイスとしてブートします。 指定するデバイス名はcoLinux上での名前ですので注意してください。
上記の様にroot.imgを/dev/cobd0に割り当てた場合は以下のようにします (これはデフォルトのままです)。
root=/dev/cobd0
初期ラムディスクの指定
これはcolinux.confのinitrdの行を確認します。
これはデフォルトのままで大丈夫です。
initrd=initrd.gz
ネットワークの設定
これはcolinux.confのeth0の部分を編集します。 デフォルトではslirpという方法が使われますが、 とりあえずtuntapを選択しておきます。 この設定では、ネットワークの接続にTAP-Win32を用います。 WinPCapを使いたい場合は修正が必要ですが、 それは次ページ以降で取り上げます。
eth0=tuntap
作成したファイル
以下が作成したcolinux.confです(コメント部分は削除しました)。
kernel=vmlinux cobd0=c:\coLinux\root.img cobd1=c:\coLinux\swap.img ro initrd=initrd.gz root=/dev/cobd0 mem=128 eth0=tuntap
動作確認
ここまできたら設定したcoLinuxが動くかどうかの確認をしましょう。 コマンドプロンプトで以下のコマンドを入力します。
c:\>cd c:\coLinux c:\coLinux>colinux-daemon @colinux.conf
するとウィンドウ(colinux-console)が表示され、 Linuxがブートするはずです。 ブートの様子は普通のLinuxとほとんど同じです。
ログインプロンプトが出たらユーザ名root、 パスワードrootでログインしましょう。
SMP(含HyperThreading)の人は coLinuxがうまく動かないという話もありますが、 普通の環境の人ならここまで問題なくいけると思います。
キーボードの設定が英語キーボードになっている点や、 せっかく追加したSwapディスクが設定されていないなど、 いろいろ変更しなければいけない点はありますが、 それはネットワークの設定をしたのちにcoLinuxに telnet(ssh)で接続して行いましょう。
とりあえず、 coLinuxをシャットダウンしてネットワークの設定をしましょう。
不具合対策
(この不具合はdevel-coLinux-20080113.exe, devel-coLinux-20080226.exeで遭遇しました)
さて、ブート時のメッセージを見るとeth0でなにやら問題が出ていることが 判ります。 設定ファイルでeth0を割り当てたはずですが、 eth0としてちゃんと認識されていないようです。
Linuxのカーネルの認識状況を確認してみましょう ("|"はシフトキーと「]」です)。
c:\>cat /proc/net/dev | grep eth
eth1: 0 0 0 ...
どうも、eth1として認識されているようです。 そこで/etc/udev/rules.d/z25_persistent-net.rulesを修正します。 修正は、NAME="eth0"の行をコメントアウト(行頭に#を挿入)し、 NAME="eth1"をNAME="eth0"に変更します。 つまり、このファイルにはコメントの行(先頭が#の行)を除くと、 以下の行があるだけになります。
# PCI device 0x1a55:0x0005 (conet) SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="(省略)", NAME="eth0"
こうしておけば次の起動時からeth0として認識されるようになります
終了
シャットダウンは普通のLinuxと同じで、下記コマンドを入力します。
# shutdown -h now
colinux-consoleに"System halted."が表示されたら、 colinux-consoleを閉じましょう。
Copyright © 2004-2008 scratchpad All rights reserved.