2005年2月15日(火)

coLinux インストールメモ

coLinux をインストールしたときに、どこかにメモを残した記憶があったんだがこの日記にはそれらしいエントリはないし……、と思っていたが発見。
職場の intra の俺 wiki だった(爆

こないだ、復旧しようとしてすっかり忘れていて苦労した部分が全部書いてあるわ(爆

ってな訳で、忘れっぽい自分のために転載(殴

むむ、例の wiki plugin を使ってみたけど、さすがに本物の pukiwiki どおりには表示されないな

* coLinux について

http://www.colinux.org/

coLinux (Cooperative Linux) は Windows 上で動作する Linux プロセス空間で、 Windows の仮想ネットワークインタフェイスを通じてアクセスできる。ファイル空間はディスクイメージを利用している。

coLinux は Windows カーネルと並列して特権モード(リング0)で動作するように修正された 2.6 系の Linux カーネルと
Windows アプリケーションの形で実装された各種のデーモンの総称。 Windows カーネル上で,Windows が, coLinux 上で
Linux ディストリビューションが動作するイメージだ。 Linux からはプロセッサや連続したメイン・メモリーが見えており,
Linux ディストリビューションに含まれるバイナリを修正する必要がほとんどない。
(http://itpro.nikkeibp.co.jp/free/ITPro/NEWS/20040914/149921/ から抜粋)

紹介記事
- http://www.itmedia.co.jp/news/articles/0404/14/news035.html
- http://itpro.nikkeibp.co.jp/free/ITPro/NEWS/20040914/149921/

** インストレーション
- http://www.geocities.jp/error_storm/
- http://iwa.ath.cx/colinux/
- http://scratchpad.fc2web.com/colinux/

*** 作業
インストール先は Windows XP Home

+ インストーラをダウンロード。実行。
~ WinPCap は使わない (TAP-Win32 adapter を使うので)
~ root filesystem は debian をダウンロード(colinux kernel は 2.6 系だが、ダウンロードされる debian ディスクイメージ中の userland は woody (stable))
+ windows のネットワーク接続で TAP-Win32 adapter に 192.168.0.1 を割り振る
~ windows の gateway 側の nic でインターネット接続を共有する、とし、共有する private netwaok に tap adapter を指定。(自動的に tap adapter が 192.168.0.1 になる)
+ ディスクイメージの準備
~ ダウンロードしたディスクイメージを展開し、 root_fs にrenameする。
~ swap disk のイメージを用意。 Unix 環境で
dd if=/dev/zero of=swap_device bs=1M count=128
~ するなど
~ あるいは windows のコマンドプロンプトで
fsutil file createnew 2gb.fs 2147483648
+ default.colinux.xml 修正(改行が Unix だが頑張って windows で修正)
~ install 先のディレクトリ、ディスクイメージのファイル名、メモリサイズ
+ coLinux 起動
colinux-daemon -c default.colinux.xml
~ console からログインする
+ Linux 内の設定
++ /etc/network/inserfaces の編集
iface lo inet loopback
~ を追加
~ address (192.168.0.40 となっていた)、 gateway 192.168.0.1 (windows TAP adapter)、 netmask (255.255.255.0) など
/etc/init.d/networking restart
~ としてネットワークの再設定
~ linux 側から 192.168.0.1 に ping を撃っても無反応なのは windows の所為なので気にしない
++ /etc/resolv.conf の編集
nameserver 192.168.0.1
~ として、 windows を利用(windows が DNS proxy する)
++ /etc/fstab の修正
/dev/cobd0 / ext3 defaults 0 1
proc /proc proc defaults 0 0
/dev/cobd1 none swap sw 0 0
~ swap の追加と / の ext3 化
~ mkswap /dev/cobd1 して /etc/init.d/mountall.sh start
++ tzconfig で timezone を設定。 /etc/default/rcS を編集して UTC=no とする。
++ apt で構築
+++ 最初に update
apt-get update; apt-get upgrade
+++ インストール
apt-get install ssh sudo
+++ adduser で一般ユーザを作成し、 visudo でエントリ追加
+ coLinux を windows のサービスとして登録( windows 起動時に colinux も起動する)
colinux-daemon -c c:?coLinux?my.colinux.xml --install-service
~ で起動。コントロールパネル -> 管理ツール -> サービスと辿って Cooperative Linux のプロパティで、「開始」しスタートアップの種類を「自動」に
+ windows から xdm login するには
++ apt-get install xdm し /etc/X11/xdm/{xdm-config, Xservers, Xaccess} 編集
~ xdm-config: DisplayManager.requestPort:0 をコメントアウト
~ Xservers: :0 で /usr/X11R6/bin/X を起動する設定をコメントアウト
~ Xaccess: * であらゆるホストにアクセスを許可
~ /etc/init.d/xdm start
++ windows の X server で 192.168.0.40 を指定して query を投げれば xdm の login window が出る
++ colinux で xfs を動かして windows の X server にそれを利用させる
~ apt-get install xfs して /etc/X11/fs/config の no-listen = tcp をコメントアウト
~ X server 側では tcp/192.168.0.40:7100

[referer: [an error occurred while processing this directive]]

あわせて読みたい