SVX日記

2004|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|

2005-11-23(Wed) coLinuxをブラッシュアップ

  coLinuxにWHEL3をインストールしてしばらく経つ。1台のノートPCの中にWindowsとLinuxを入れ、電車の中でも「ほぼ本物」のLinux環境を使えるようになってとても満足している。そのうち、coLinuxでWHEL3を使う方法についてまとめようと思いつつ放置してあるが、そんな中、とうとう怒りが爆発させるオイラであった。

  「いい加減にせんかッ!! 日経Linuxッ!!」

  すでにバックナンバーになっているので、いまさらではあるが、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

  coLinuxの起動設定であるdefault.colinux.xmlを修正する。coLinux側からは/dev/cobd1として見えるようにしてやる。

<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

  あとはマウントポイントを用意してやって、fstabに追加してやるだけだ。

[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 を指定したかったのでは?

  ちなみに、このメッセージはマジで出るぞ。なかなかシャレているではないか。

  さて、ソース一式を持ち歩いても、まだHDDに余裕があることであるし、ワークエリアを追加しておこう。基本的な作り方はswapに似ている。まずは、軽く4Gでも割り当てておこうか。

$ dd if=/dev/zero of=wb3r2_ext2_work_4g bs=1M count=4096

  swapと同様、default.colinux.xmlに以下の記述を加える。

<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

  マウントポイントを作って、/etc/fstabに記述を加える。

[root@colinux /]# mkdir home2
[root@colinux mnt]# vi /etc/fstab
      6 /dev/cobd2              /home2                  ext3    defaults,noatime    0 2

  あら。マウント失敗。そりゃ、ext2をext3でマウントしようとしても失敗するわな。ext3に変換しておくとしようか。ちなみにext3はエクストスリーと読むらしい。どーでもいーですけどね。

[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

  よっしゃ。これで余裕を持って作業ができるというものである。なんてことをしつつ、なにやら、ゴソゴソ始めるのであった。詳細は明日。ではまた。

  画像の説明