colinuxのイメージを拡張とswapを使う方法
これだといろんな開発に必要なツールを入れたり、apacheとかmysqlを入れたらあっというまに90%に達っしてしまったのでこりゃいかんとイメージを拡張することにした。でもwindows側のマシンの容量を圧迫するので、あまり大きくはできなかった…。とりあえず2GBにしてみました。
まずはイメージの拡張から。大きな流れとしては
- DOSで新しい2GBのイメージの空イメージを作成
- colinuxでそれをフォーマットしてマウント
- 元のデータを新しいイメージの方にコピー
- 新しい方で起動
では始めましょう。新しく使用するイメージファイルを作成します。これはwindows側でDOS窓でやります。下記は2GBの例です。
C:\> fsutil file createnew root_fs_new 2147483648これは一瞬で終ります。作成したイメージは以前Debianのイメージを置いたディレクトリに置いておきましょう。
次にそれをcolinuxで起動時に読み込めるようにdefault.colinux.xmlを下記のように編集しましょう。先程作成したroot_fs_newのためのblock_deviceをもう1つ追加しました。
<?xml version="1.0" encoding="UTF-8"?> <colinux> <block_device index="0" path="\DosDevices\c:\Program Files\coLinux\Debi an-3.0r2.ext3-mit-backports.1gb" enabled="true" /> <block_device index="1" path="\DosDevices\c:\Program Files\coLinux\root_fs_new" enabled="true" /> <bootparams>root=/dev/cobd0</bootparams> <initrd path="initrd.gz" /> <image path="vmlinux" /> <memory size="128" /> <network index="0" name="TAP" type="tap" /> </colinux>
こちらで、colinuxを再起動します。起動できたらばrootになって下記のコマンドを実行してください。やっていることは、先程のイメージをext2でフォーマットしてからそれを/mnt2にマウントしています。index="1"と設定をしたのでroot_fs_newは/dev/cobd1になります。
# mkfs.ext2 /dev/cobd1 # mkdir /mnt2 # mount -t ext2 /dev/cobd1 /mnt2次にルートディレクトリに移動してから、今使っているイメージの内容全部を新しく作成してマウントしたディレクトリにコピーします。
# cd / # tar cpf - `ls -1 | grep -v proc | grep -v mnt2` | (cd /mnt2; tar xpf -) # mkdir /mnt2/procこれがちょっと時間かかります。完了したらdefault.colinux.xmlを元に戻して、以前Debianのイメージを指定していたところ(つまりindex="0"のところ)を新しく作成したroot_fs_newに変更して起動しなおしてください。これで起動すると容量が2GBになっているはず。
さて、次はswapを使う方法です。流れとしては、イメージの拡張より簡単です。
- DOSで新しい128Mのイメージの空イメージを作成
- colinuxでswapとしてフォーマット
- /etc/fstabにswapを設定
- 再起動
まずは、先程のイメージの拡張と同じように、DOSでイメージの空イメージを作成。今回は128Mのswapを使うことにします。
C:\> fsutil file createnew swap_device 134217728次にdefault.colinux.xmlに上記で作成したswap_deviceを追加してcolinuxを起動します。
<?xml version="1.0" encoding="UTF-8"?> <colinux> <block_device index="0" path="\DosDevices\c:\Program Files\coLinux\root_fs_new" enabled="true" /> <block_device index="1" path="\DosDevices\c:\Program Files\coLinux\swap_device" enabled="true" /> <bootparams>root=/dev/cobd0</bootparams> <initrd path="initrd.gz" /> <image path="vmlinux" /> <memory size="128" /> <network index="0" name="TAP" type="tap" /> </colinux>
これで起動したら、swapを使えるようにフォーマットしましょう。index="1"とdefault.config.xmlに書いたので、/dev/cobd1がswap_deviceになりますので、下記のコマンドをrootで実行します。
# mkswap /dev/cobd1swapを使えるようにしたら、あとは下記のように/etc/fstabにswapを追加します。 root権限でviとかで編集しましょう。追加したのは、/dev/cobd1のある行です。
# /etc/fstab: static file system information. # # <file system> <mount point> <type> <options> <dump> <pass> /dev/cobd0 / ext3 errors=remount-ro 0 1 /dev/cobd1 swap swap defaults 0 0 proc /proc proc defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0
ここまでできたら、あとは再起動するだけです。