勤務先でcoLinuxが意外と使えることを知った私は、自宅のマシンにも入れてみるのであった。これでVMware Playerをアンインストールできるかもしれない。ネットワークの設定は面倒ですがググれば問題ないレベル。
勤務先では配布物のarchLinuxをpacmanしまくってカスタマイズしていった。cygwinのtruncateコマンドでイメージファイルを広げてresize2fsで増やしていろいろ入れつつ、tune2fsでext4にして…だが、自宅では最初からCentOS6のイメージを自作しようかなと。
でも、やってみるとarchLinuxよりも起動が遅いですね。会社ではnet start…だけ書いたスクリプトを叩いてマウスを移動する時間よりも早く起動が終わり、sshですんなり入れる感じでしたけど、ちょっと待たされます。SSDとHDDの違いか、XPとVistaの違いかもしれないが。
基本的には、
- VMwareでCentOS6(32bit)を最小構成でインストール。ディスクサイズは小さくする。私は1GBでやりました
- パーティションはカスタマイズして、/だけをsda1に定義
- qemu-img等でrawに変換…最初からqemuでインストールすれば良かった
- dd if=/path/to/img.raw of=cent6/root.fs bs=512 skip=2048
これでroot.fsができます。coLinuxのcobd(block device)はパーティションを扱えないんで、sda1の部分を抜き出す必要があります。scsi0=disk,d:\path\to\img.rawとやればパーティションを扱えるそうですが…
Cent6はさすがに最近出ただけあって、sda1は63セクタ目ではなく2048セクタ目から始まります。63なんてバカバカしく半端な開始位置に困っていたのは我々だけではなかったのです。
このままだとエラーが出まくって手動でfsckさせられたりしますが、適当にいじってれば解決するので大丈夫です。
あとはcoLinuxの設定をしていけばいいです。udevのせいでeth0を設定してもeth1になってしまうので、/etc/udev/rules.d/70-persistent-net.rulesを消せば次からeth0になります。うちの設定は↓のような感じ。
kernel=vmlinux sda1="d:\coLinux\cent6\root.fs" sda2="d:\coLinux\swap.fs" root=/dev/sda1 rw fastboot initrd=initrd.gz mem=256 cocon=120x40 eth0=tuntap
最後に、サービスとして定義しておけば、netコマンドでstart/stopができますし、自動起動もできます。
- colinux-daemon @cent6.conf –install-service "colinux-cent6"
- net start colinux-cent6
- net stop colinux-cent6
ただこのときまたMACアドレスが変わってしまうようで、eth0がeth1に逃げてしまいます。おのれudev(のpersistent net generator)。サービスにするとコンソールがデフォルトでは出なくなりますが、後からcolinux-console-fltk.exe等を起動すればコンソールも見えます。
これで、32bitだけど、SMP使えないけど、本物のLinuxが動きますよ。邪魔なcygwinとVMwareを消せる日も近いぜ…。特にVMwareはvmhgfsが使えなくなったしね。その点、cofsがあれば快適だ。
Pingback: coLinuxにCentOS6.5をインストール | yuuAn's Note