coLinux(0.8.x)のインストール その4: 設定ファイルの修正と動作確認

このページでは、coLinuxの動作を制御するための設定ファイルの準備と、 動作確認を行います。

設定ファイルのフォーマットはcoLinux 0.6.x系とcoLinux 0.7.x系では、 大きく異なっていますので注意してください。

設定ファイルの作成

ここでは、coLinuxの設定ファイルを作成することによって、 coLinuxに割り当てるメモリサイズと ディスクイメージファイルの指定します。

これらは c:coLinuxにあるファイル example.confを ベースに作成します。 まずはexample.confをコピーしてcolinux.conf というファイルを作成しましょう。 以降ではこのファイルを編集します。

設定ファイルの詳細説明は 「coLinux 0.7.xからの変更点」 も参照してください。

メモリの割り当て

これはcolinux.confのmemの部分を編集します。 デフォルトではコメントアウトされており、 この場合はメインメモリの1/4(最低は16MB)になります。 私はメモリサイズを制限したかったので128MBにしてみました

[plain]
mem=128
[/plain]

ディスクの割り当て

これはcolinux.confのcobd0とcobd1の部分を編集します。 coLinuxからは、 cobdXで指定したディスクイメージをデバイスファイル (/dev/cobd0とか/dev/cobd1とか)でアクセスすることができます。

/dev/cobd0にルートディクスイメージ(root.img)を、 /dev/cobd1にスワップディスクイメージ(swap.img)を割り当てるには 以下のようにします。

[plain]
cobd0=c:coLinuxroot.img
cobd1=c:coLinuxswap.img
[/plain]

ブートパラメータの指定

これはcolinux.confのroの行を確認します。 この行の記述がLinuxカーネルの起動時に、パラメータとして渡されます。

これはデフォルトのままで大丈夫です。
[plain]ro [/plain]

ルートデバイスの指定

これはcolinux.confのrootの行を確認します。 coLinuxはこのデバイスをルートデバイスとしてブートします。 指定するデバイス名はcoLinux上での名前ですので注意してください。

上記の様にroot.imgを/dev/cobd0に割り当てた場合は以下のようにします (これはデフォルトのままです)。
[plain]
root=/dev/cobd0
[/plain]

初期ラムディスクの指定

これはcolinux.confのinitrdの行を確認します。

これはデフォルトのままで大丈夫です。
[plain]
initrd=initrd.gz
[/plain]

ネットワークの設定

これはcolinux.confのeth0の部分を編集します。 デフォルトではslirpという方法が使われますが、 とりあえずtuntapを選択しておきます。 この設定では、ネットワークの接続にTAP-Win32を用います。 WinPCapを使いたい場合は修正が必要ですが、 それは次ページ以降で取り上げます。
[plain]
eth0=tuntap
[/plain]

作成したファイル

以下が作成したcolinux.confです(コメント部分は削除しました)。

[plain]
kernel=vmlinux
cobd0=c:coLinuxroot.img
cobd1=c:coLinuxswap.img
ro
initrd=initrd.gz
root=/dev/cobd0
mem=128
eth0=tuntap
[/plain]

動作確認

ここまできたら設定したcoLinuxが動くかどうかの確認をしましょう。 コマンドプロンプトで以下のコマンドを入力します。

[plain toolbar=false gutter=false highlight_lines=”1,2″]
c:>cd c:coLinux
c:coLinux>colinux-daemon @colinux.conf
[/plain]

するとウィンドウ(colinux-console)が表示され、 Linuxがブートするはずです。 ブートの様子は普通のLinuxとほとんど同じです。

boot

ログインプロンプトが出たらユーザ名root、 パスワードrootでログインしましょう。

SMP(含HyperThreading)の人は coLinuxがうまく動かないという話もありますが、 普通の環境の人ならここまで問題なくいけると思います。

キーボードの設定が英語キーボードになっている点や、 せっかく追加したSwapディスクが設定されていないなど、 いろいろ変更しなければいけない点はありますが、 それはネットワークの設定をしたのちにcoLinuxに telnet(ssh)で接続して行いましょう。

とりあえず、 coLinuxをシャットダウンしてネットワークの設定をしましょう。

不具合対策

(この不具合はdevel-coLinux-20080113.exe, devel-coLinux-20080226.exeで遭遇しました)

さて、ブート時のメッセージを見るとeth0でなにやら問題が出ていることが判ります。設定ファイルでeth0を割り当てたはずですが、eth0としてちゃんと認識されていないようです。

Linuxのカーネルの認識状況を確認してみましょう("|"はシフトキーと「]」です)。

[plain toolbar=false gutter=false highlight_lines=”1″]
# cat /proc/net/dev | grep eth
eth1: 0 0 0 …
[/plain]

どうも、eth1として認識されているようです。そこで/etc/udev/rules.d/z25_persistent-net.rulesを修正します。修正は、NAME="eth0"の行をコメントアウト(行頭に#を挿入)し、NAME="eth1"をNAME="eth0"に変更します。つまり、このファイルにはコメントの行(先頭が#の行)を除くと、以下の行があるだけになります。

[plain]
# PCI device 0x1a55:0x0005 (conet)
SUBSYSTEM==”net”, DRIVERS==”?*”, ATTRS{address}==”(省略)”, NAME=”eth0″
[/plain]

こうしておけば次の起動時からeth0として認識されるようになります

終了

シャットダウンは普通のLinuxと同じで、下記コマンドを入力します。

[plain toolbar=false gutter=false highlight_lines=”1″]
# shutdown -h now
[/plain]

colinux-consoleが真っ暗になったら、colinux-consoleを閉じましょう。

フォローする