SVX日記
2005-11-23(Wed) coLinuxをブラッシュアップ
coLinuxにWHEL3をインストールしてしばらく経つ。1台のノートPCの中にWindowsとLinuxを入れ、電車の中でも「ほぼ本物」のLinux環境を使えるようになってとても満足している。そのうち、coLinuxでWHEL3を使う方法についてまとめようと思いつつ放置してあるが、そんな中、とうとう怒りが爆発させるオイラであった。
すでにバックナンバーになっているので、いまさらではあるが、2005年7月号。特集は「独自coLinux作成術-お気に入りディストリビューションで挑む-」というもの。オイラは試行錯誤しながら、一部、不可解な作業を伴いつつ、苦労してWHEL3をインストールした。それをスマートに記事としてまとめているかと思ったら、特集の頭から一般論が始まり、途中から「独自のイメージはこう作る」という題目のもと、フツーにダウンロードできるDebianの中身を少しずつFedoraに置換していく作業を9ページもダラダラと並べ「如何にDebianの中身を入れ替えようがFedoraにはならない」などというギャグをかましたかと思ったら、最後の1ページで「インストーラを配布しているサイト」を紹介して終了である。
今月の特集は「独自coLinux作成術-お気に入りディストリビューションで挑む-」じゃねーのかよ!? こんなのサギじゃねーか!! 特集の根幹を「サイト紹介」で済ます神経も、すっかりイッちゃってる精神状態としか思えないが、そのサイトでもVineとFedoraほかRedhat系を中心とした数ディストリビューションにしか対応してないのだ。まったくのサギ、いやゴミ記事である。どこが「お気に入りディストリビューションで挑む」なんだ!?
だいたい、以前からオイラは「日経○○」に対して、疑問を感じていた。日経ソフトウェアなんて、非常に「そそる特集」を組みつつ、中身は毎度スッカラカンである。そんなこと、その辺に転がっている野良プログラマにだって書ける、というレベルの特集ばかりである。記事じゃないぞ「特集」だぞ。オイラは、1度は買って、2度目は立ち読みして、3度目からはパラパラするだけ、4度目からは特集のタイトルを見るだけ、それ以降は目にも入れないようにしている。
というワケで「やたらと本を並べまくっている技術者の技量は疑ったほうがいい」と、以前に書いたが「日経Linuxほか日経○○をありがたがって購読している技術者の技量も深く疑ったほうがいい」と断言しておく。貴重な紙資源をこれ以上ゴミにするのはヤメていただきたいと思うオイラである。
……と、独自のディストリビューションではないものの、coLinuxにWHEL3をインストールする方法についてはそのうち触れる予定であるが、とりあえず、今日の作業のメモ書きである。最近、忘れっぽくて、自分で自分の日記を参考にすることが多いので……。
以下、coLinux用にswapパーティションを追加する方法である。まずは、Windows側でCygwinのddコマンドを利用して、swapパーティションとなるイメージファイルを作る。ウチのPCは320MB。coLinuxには64Mしか割いてないが、HDDも増設したことだし、軽く256Mバイトでも割り当ててみる。
$ dd if=/dev/zero of=wb3r2_swap_256m bs=1M count=256
<block_device index="1" path="\DosDevices\d:\wb3r2_swap_256m"
enabled="true" />
あとはcoLinuxを起動してswapを足してやる。基本的にコマンドなんてガンバって覚えるものではないが、swap関係のコマンドなんて、ことさら使用することのないコマンドであるから「くれぐれも覚えない」ようにしていただきたい。こういうのをチマチマ覚えないといけないLPICという資格も、かなり××な資格であるとツッコんでおこう。
[root@colinux root]# mkswap /dev/cobd1
Setting up swapspace version 1, size = 268431 kB
[root@colinux root]# swapon /dev/cobd1
[root@colinux root]# swapon -s
Filename Type Size Used Priority
/dev/cobd1 partition 262136 0 -1
[root@colinux root]# free
total used free shared buffers cached
Mem: 62172 40512 21660 0 4028 22044
-/+ buffers/cache: 14440 47732
Swap: 262136 0 262136
swaponなんて、覚えなくていいったら、覚えなくていい。そんなもの覚えるくらいなら、また/etc/fstabの書式でも覚えたほうが役に立つ。ちなみに末尾の「0 0」は前者が意味のない数値、後者がもっと意味のない数値である。
[root@colinux root]# vi /etc/fstab
/dev/cobd1 swap swap defaults 0 0
さて、swapの設定が終わったところで、HDDにも余裕があることであるし、ソース一式を持ち歩くように環境設定してみよう。なんのことはない。WBEL3の3枚のソースCDをcoLinuxにマウントするように設定するだけである。まずは3枚のソースCDのISOイメージ3つを、Windows上のDドライブのルートに置き、default.colinux.xmlに以下の記述を加える。
<block_device index="5" path="\DosDevices\d:\liberation-respin2-source-1.iso"
enabled="true" />
<block_device index="6" path="\DosDevices\d:\liberation-respin2-source-2.iso"
enabled="true" />
<block_device index="7" path="\DosDevices\d:\liberation-respin2-source-3.iso"
enabled="true" />
index="x"という設定で、/dev/cobdxに接続されるかが決定される。オイラの配布(予定)のWHEL3イメージは/dev/cobd3までしか用意してないので、coLinux側から/dev/cobd4〜7を足してやる。
[root@colinux root]# ls -lrt /dev | grep cobd
brw-r--r-- 1 root root 117, 0 11月 5 21:19 cobd0
brw-r--r-- 1 root root 117, 1 11月 5 21:19 cobd1
brw-r--r-- 1 root root 117, 2 11月 5 21:19 cobd2
brw-r--r-- 1 root root 117, 3 11月 5 21:19 cobd3
[root@colinux root]# mknod /dev/cobd4 b 117 4
[root@colinux root]# mknod /dev/cobd5 b 117 5
[root@colinux root]# mknod /dev/cobd6 b 117 6
[root@colinux root]# mknod /dev/cobd7 b 117 7
[root@colinux root]# ls -lrt /dev | grep cobd
brw-r--r-- 1 root root 117, 0 11月 5 21:19 cobd0
brw-r--r-- 1 root root 117, 1 11月 5 21:19 cobd1
brw-r--r-- 1 root root 117, 2 11月 5 21:19 cobd2
brw-r--r-- 1 root root 117, 3 11月 5 21:19 cobd3
brw-r--r-- 1 root root 117, 4 11月 23 07:35 cobd4
brw-r--r-- 1 root root 117, 5 11月 23 07:35 cobd5
brw-r--r-- 1 root root 117, 6 11月 23 07:35 cobd6
brw-r--r-- 1 root root 117, 7 11月 23 07:35 cobd7
[root@colinux mnt]# mkdir /mnt/cdrom1
[root@colinux mnt]# mkdir /mnt/cdrom2
[root@colinux mnt]# mkdir /mnt/cdrom3
[root@colinux mnt]# vi /etc/fstab
/dev/cobd5 /mnt/cdrom1 iso9660 ro 0 0
/dev/cobd6 /mnt/cdrom2 iso9660 ro 0 0
/dev/cobd7 /mnt/cdrom3 iso9660 ro 0 0
[root@colinux root]# mount /dev/cobd2 /mnt/cdrom1 -t iso9660
[root@colinux root]# mount /dev/cobd2 /mnt/cdrom1 -t iso9696
mount: ファイルシステムタイプ iso9696 はカーネルがサポートしていません
mount: 多分あなたは iso9660 を指定したかったのでは?
$ dd if=/dev/zero of=wb3r2_ext2_work_4g bs=1M count=4096
<block_device index="2" path="\DosDevices\d:\wb3r2_ext2_work_4g"
enabled="true" />
swapと違うのは、mkswapでなく、mkfs.ext2を使うことだ。ちなみに、いまさらではあるがcoLinuxではイメージファイルはパーティションと同義である。つまり、直接/dev/cobdxになるのでfdiskは不要である。
[root@colinux root]# mkfs.ext2 /dev/cobd2
[root@colinux /]# mkdir home2
[root@colinux mnt]# vi /etc/fstab
6 /dev/cobd2 /home2 ext3 defaults,noatime 0 2
[root@colinux root]# tune2fs -j /dev/cobd2
[root@colinux root]# mount /home2
[root@colinux root]# df -h
Filesystem サイズ 使用 残り 使用% マウント位置
/dev/cobd0 2.0G 1.6G 281M 85% /
none 31M 0 31M 0% /dev/shm
/dev/cobd5 535M 535M 0 100% /mnt/cdrom1
/dev/cobd6 535M 535M 0 100% /mnt/cdrom2
/dev/cobd7 535M 535M 0 100% /mnt/cdrom3
/dev/cobd2 4.0G 33M 3.8G 1% /home2