JSの設定

2012年1月2日月曜日

Arch linux on Colinux のインストールメモなど

新年あけましておめでとうございます。ブログのタイトルを、暑いから寒いにしてみました。
今年はもうちょっと頑張って更新しよう。ということでまず実家(三田@兵庫)に持ち込んだThinkPad(去年2万円で中古購入)にarch linuxをインストールした記録から。

- colinuxとは:
  http://goo.gl/ShFBV とかにあるとおり、linuxのエミュレータ。昔はCygwinとかあったけど今はもうcolinuxでしょう。VMwareは設定が簡単だけど動作が重い、モバイルPCでは使えない。

- colinuxのインストール:
  http://dqn.sakusakutto.jp/2011/07/colinux-manual.html このへんを見ながら本体と7zipをインストールする。c:\colinux にインストールしたと仮定。
※バージョンは0.7.9(2011-04-09)

- OSのイメージファイルを取得する:
  http://goo.gl/DTmE このへんから好きなやつをDLする。今回は軽さ重視で、Arch Linux。

- Arch Linuxとは:
  http://ja.wikipedia.org/wiki/Arch_Linux こんなやつ。

- Arch Linuxのインストール:
  http://goo.gl/N4ypF からArchLinux 2011.08.15(2011-11-27 modified)をDL、解凍、c:\colinuxに展開。

- まずはいじってみる:
  arch.cmd が起動バッチになっている。DOSプロンプトからこれを実行(arch.cmd arch)。
ユーザーrootでログイン。ネットーワーク(wifi)も問題なくつながる。

- rubyのインストール:
  とりあえず何かインストールしたい、ということで。http://goo.gl/eznSs を参考にpacman -Sy。
あとはpacman -S rubyなどと。
問題なく入る。ruby 1.9.3p0 (2011-10-30 revision 33570) [i686-linux]

- ディスクの拡張:
  スワップ領域が少ない。ディスク領域もほとんどない、ので新しいイメージを用意する。
colinux tips(http://goo.gl/WgByo)を参考に。

プロンプトから以下を実行(c:\colinuxで作業)。
fsutil file createnew swap.img 134217728

arch.cmdをエディタで開いて、13行目あたりの記述を修正する。
set SW_ARCH=swap.img
※これが・・・100行目あたり、:_install の項目にあるcolinux-daemon -t ntという起動コマンドのパラメータに渡っていく、ちょっと見てみよう。

- スワップ領域を有効にする
  まずcolinuxを終了させ、arch.cmd arch で再起動。mkswap /dev/hda2 としてフォーマット。
swapon /dev/hda2 として無事スワップの使用が開始された(freeコマンドを叩いてみよう)。
※再起動前に、下記にあるkeymap設定もしておくとよい。
http://goo.gl/yiCLX
http://goo.gl/r8XFg

- ディスクの拡張:
  スワップと同じ要領でデカいファイルを作る(下記は2G)。
fsutil file createnew arch_fs.img 2146435072

colinux tipsの「colinuxのディスクがいっぱいになってしまった。拡張したい。」(http://goo.gl/WgByo
にある通り、colinuxの起動パラメータに hda3=arch_fs.img を追加して再起動。
※arch.cmd 112行目あたり↓

colinux-daemon -t nt mem=%MEM% kernel=vmlinux initrd=initrd.gz hda1=%FS% hda2=%SW% hda3=arch_fs.img cofs1=c:\ root=/dev/hda1 eth0=slirp,,tcp:8022:22/tcp:3000:3000

※ちなみにtcp:8022:22/tcp:3000:3000のとこは、windowsの8022ポートへのアクセスをcolinux(10.0.2.x?)の22へ、3000を3000へフォワードする意味。なのでsshdを立ち上げておけばputtyとかから127.0.0.1:8022へアクセスできるし、railsとかnode.jsのテストサーバを10.0.2.x:3000で立ち上げておけばhttp://localhost:3000/でつながる。

再起動後、フォーマット。/mntにマウント。cp -a でコピー。アンマウント。あとはこれをhda1として起動するだけ。
※colinux tipsの記述とは少し違うコマンドになった。
cp -a /bin /boot /dev /etc /home /srv /run /media /lib /opt /root /sbin /usr /var /mnt/

再びarch.cmd編集。6~8行目あたり。
set FN_ARCH=arch_fs.img
set FS_ARCH=arch_fs.img

先ほど追加したhda3=arch_fs.imgをトル。これで準備完了、あとは再起動すれば拡張されている(df -hで確認しよう)。

- その他参考資料
ネットワーク設定