諸君、私はext3が嫌いだ。いや、嫌いという訳ではないのだが、2GB以上のファイルを作れない(作れるのかも知れん)のが嫌なのだ。

ところで、仕事では大抵Redhat Enterprise Linuxの3か4を使うし、予算が無ければCentOSというのがお決まりのパターンである。ところがこいつらはディストリビューション標準のカーネルがReiserFSやXFSをサポートしていないのである。なのでとりあえずひょいひょいとkernel.2.6.9-34.EL.src.rpmを入れてカーネル再構築の巻。・・・・できね~! asm-offsets.sが無いと言われる。なんだよasm-offsets.sって。ねーじゃん。いやあるじゃん。make cleanでてめーが消してんじゃん。

仕方がないのでちょっと考えてみる・・・・ぽくぽくぽくぽくち~ん。分からん。あれこれ試してみよう。
その結果、以下の手順でOKだと分かった。どうせビルドはVMWareでやるし面倒なので全部rootで。

・カーネルのソースRPMを入れる。

# rpm -i kernel-2.6.9-34.EL.src.rpm

・/usr/src/redhat/SPECSにCD

# cd /usr/src/redhat/SPECS

・rpmbuildをbpまで実行

# rpmbuild -bp --target=i686 kernel-2.6.spec

・/usr/src/redhat/BUILD/kernel-2.6.9/linux-2.6.9にCD

# cd ../BUILD/kernel-2.6.9/linux-2.6.9

・configsからi686のコンフィグを取ってくる

# cp configs/kernel-2.6.9-i686.config .config

・カーネルのコンフィグをいじって適当な設定をする

# make menuconfig

・コンフィグを書き戻す

# cp .config configs/kernel-2.6.9-i686.config

・SPECSに戻る

# cd -

・RPMの作成

# rpmbuild -ba --target=i686 kernel-2.6.spec

これで、/usr/src/redhat/RPMSにカスタムカーネルのRPMが、/usr/src/redhat/SRPMSにカスタムカーネル(っつってもカスタムなのはconfigくらい)のソースRPMが入る。

ただ、言語やコードページ関係は一切いじってないのに、このカスタムカーネルではCD-ROMのマウント時に「Unable to load NLS charset utf8」と出てくるようになってしまった。また今度NLS関係のコンフィグをいじってみよう。