CentOS4.3でReiserFS、XFSを使う
諸君、私は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関係のコンフィグをいじってみよう。