coLinuxインストール

前回の続きから。


で,ここからcoLinuxの説明。
参考はこちら。
http://colinux.wikia.com/wiki/Ubuntu61
http://d.hatena.ne.jp/mallowlabs/20070527/1180286109


ここから準備。
coLinuxをダウンロード。
http://www.colinux.org/
今回は,0.7.1 stable-coLinux-20070714.exe をダウンロード


QEMUダウンロード
http://www1.interq.or.jp/~t-takeda/qemu/
これは最新を。


Cygwinダウンロード
http://www.cygwin.com/


そして(もたもたしてるうちに最新が出たので)ubuntu-7.10-server-i386.isoをダウンロード。


ここから作業。
1.QEMUをどこかに展開する。
とりあえずC:\Program Files\qemu-0.9.0-windowsとしておいた。


2.C:\coUbuntuフォルダを作って,そこにUbuntuの/(ルート)ディレクトリイメージ用に2GBのファイルとswapデバイスイメージ用に512MBのファイルを作成。
XPのコマンドプロンプトで以下を実行。

C:\coUbuntu> fsutil file createnew coUbuntu_root 2147515904
C:\coUbuntu> fsutil file createnew coUbuntu_swap 536903168

ubuntu-7.10-server-i386.isoもC:\coUbuntuに置いとく。


3.QEMUUbuntuインストール

C:\Program Files\qemu-0.9.0-windows> qemu.exe -hda c:\coUbuntu\coUbuntu_root -hdb c:\coUbuntu\coUbuntu_swap -cdrom c:\coUbuntu\ubuntu-7.10-server-i386.iso -m 128 -boot d -L .

/dev/sda1を/に,/dev/sdb1をswapに。
パッケージグループはLAMPとopen sshあたりをインストール。
ココ,結構時間かかった。


4.インストールが終わったら,さっきの/(ルート)ディレクトリイメージ用ファイルをddでディスクイメージに。

C:\coUbuntu> dd if=coUbuntu_root of=coUbuntu_root.img bs=512 skip=63


5.coLinuxをC:\coLinuxにインストール。
とりあえずconsoleとTAPとSLiRP*1を選択してインストール。ディストリビューションのrootイメージとかpcapとかはいらない。
f:id:kshimo69:20071023011850p:image


6./home用の4GBイメージと,swap用の512MBイメージを作る。

C:\coLinux> fsutil file createnew coUbuntu_home.img 4294999552
C:\coLinux> fsutil file createnew coUbuntu_swap.img 536903168


7.Windows上でネットワークの設定。
TAP-Win32 Adapter V8 (coLinux)のデバイスのネットワーク接続を「TAP」って名前に変更。
f:id:kshimo69:20071023011921p:image
普段使ってるネットワーク接続のプロパティで「インターネット接続の共有」を設定する。
普段使ってるネットワーク接続のIPが「192.168.0.x」になっていると,「既に使用されています」とか言われて失敗するので,その場合は,一旦他のIPに設定してから「インターネット接続の共有」を設定する。
f:id:kshimo69:20071027011155p:image
その後,「TAP」というネットワーク接続のIPを「192.168.100.1」に設定。
f:id:kshimo69:20071023011941p:image


8.C:\coLinux\coUbuntu.confを以下のように設定してcoLinuxを起動。

# colinux-daemon @coUbuntu.conf
kernel=vmlinux
cobd0="coUbuntu_root.img"
sdb="coUbuntu_home.img"*2
sdc="coUbuntu_swap.img"*3
root=/dev/cobd0
ro
initrd=initrd.gz
mem=128
eth0=tuntap

C:\coLinux> colinux-daemon.exe @coUbuntu.conf


9.Ubuntu上で追加のディスクを設定する。

sdbをreiserfsに
$ sudo mkreiserfs -f /dev/sdb*4
sdcをswapに
$ sudo mkswap /dev/sdc*5


10.Ubuntu上でネットワークの設定。
/etc/network/interfacesを以下のように。

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.100.100
gateway 192.168.100.1
netmask 255.255.255.0
broadcast 192.168.100.255


11.Ubuntu上で/etc/fstabを設定。

proc /proc proc defaults 0 0
/dev/cobd0 / reiserfs notail 0 1
/dev/sdb /home reiserfs notail 0 2


12.Windowsのサービスに登録。

C:\coLinux> colinux-daemon.exe @coUbuntu.conf --install-service "coUbuntu"


13.coUbuntuサービスを起動

> net start "coUbuntu"

14.Windowsの[管理ツール]-[サービス]でcoUbuntuが自動起動するように設定。


とりあえずこんなところかな。

*1:SLiRPは結局使いませんでしたorz

*2:cobd1だとUbuntu上から/dev/cobd1が見えなかったためaliasを設定した

*3:上と同じ。たぶんmknodとかでデバイス作れば見えるんやろけど・・・

*4:パーティションは作らず,直接デバイス全部をreiserfsでフォーマットしました

*5:こちらもパーティションを作らずに・・・