[OpenBlockS Users page]
[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[obu:01141] OBSS のカーネル再構築


岡本です。

OpenBlockSSのカーネル再構築の方法についてまとめてみました。


■目標
OpenBlockSSのカーネルを再構築する手順を明確化する

■注意事項
1. 再構築したカーネルを使用する場合は、最悪の場合OBSSが起動
   しなくなることもありえますので、自己責任で行ってください。
2. ここに記述しているのはあくまで私の環境でのことであって、お読みに
   なっている方の環境とは異なることがあるかもしれません。
3. 何があっても私は責任をとりません。

■環境
1. OpenBlockSS
2. カーネルバージョン2.4.10
3. HDDを搭載し、2.4.10対応ハードディスクイメージ

■前提
1. カーネルバージョン2.4.10
2. ぷらっとホームのftpサーバから以下のファイルをOpenBlockSS上の
   適当なディレクトリに配置
   linux-2.4.10-plathome-011119.tar.gz
   linux-2.4.10-plathome-011119.config
   rd011206.tar.gz
   (これらのファイルの利用には、ぷらっとホームの免責事項が適用されます。
   今日現在、http://openlab.plathome.co.jp/OpenBlockSS/acknowledge.html
   に記載されています。将来は変わるかもしれませんので、ftpサーバから
   直接取得するのではなく、いったんWebページを経由して取得されることを
   お勧めします。)
3. 現在のカレントディレクトリは入手したファイルが置いてあるディレクトリ
4. 現在のユーザはroot

■手順
1. カーネルソースの展開
# tar xzf linux-2.4.10-plathome-011119.tar.gz

2. RAM DISK用イメージの確保
# dd if=/dev/zero of=./ramdisk.image bs=1k count=16384
ddの引数のcountに16384を渡していますが、これはぷらっとホームが提供
するRAM DISK用コマンドセットを展開するのに必要な最低限の容量です。
実際にRAM DISKを使用して運用する場合は、24576ぐらいで確保する
必要があるかもしれません。ただし、32768以上確保する場合は、カーネル
設定のCONFIG_BLK_DEV_RAM_SIZEを増やさなければならないかも
しれません。
# mke2fs -m 0 ./ramdisk.image
mke2fs 1.19, 13-Jul-2000 for EXT2 FS 0.5b, 95/08/09
./ramdisk.image is not a block special device.
Proceed anyway? (y,n)
と出るが、yを押して続行。

3. RAM DISK用コンテンツの作成
# mkdir rd
# mount -o loop ./ramdisk.image ./rd
# tar xzpf rd011206.tar.gz
必要であれば./rdの中を変更します。
IPアドレスなどを変更されている場合などは、ここでそれを反映しておくと
便利です。
# umount ./rd

4. RAM DISK用イメージをビルド可能に
# dd if=./ramdisk.image bs=1k | gzip -v9 > ramdisk.image.gz
# cp ramdisk.image.gz linux/arch/ppc/boot/images

5. カーネル設定をぷらっとホーム提供のデフォルト設定に変更
# cp linux-2.4.10-plathome-011119.config linux/.config
# cd linux
# make oldconfig
カーネルの設定を変更したい場合は、ここで行います。make menuconfig
などが使いやすいでしょう。Windowsのtelnetなどで入っている場合は
画面が崩れますので、export TERM=vt100などとコマンドラインで入力
してからやるとよいです。
モジュール化することも可能ですが、RAM DISKの中にそれを入れようと
するとちょっとだけ面倒でしょう。

6. カーネルビルド
# make dep
# make zImage.initrd
# make modules

7. RAM DISK起動
# sync
# shutdown -h now
ここで、OpenBlockSSのshutdownがLEDインジケータで[2]になったまま
ハングアップすることが確認されています。ですので、念のためsync
コマンドは発行しておいて下さい。
AC電源を抜き差しして電源を再投入します。
ちゃんと起動したら、またshutdownします。(ファイルシステムの同期の
ためで、それができるのであればどのような方法でもかまいません)
またAC電源を抜き差しして電源を再投入しますが、このときはRAM DISK
で起動するため、INITボタンをステータスインジケータの[6]が終了する
まで押しつづけます。

8. 新カーネルの書き込み
# cd /mnt/ide?/<ぷらっとホームから入手したファイルを置いた場所>
# cd linux/arch/ppc/boot/images
ビルドしたカーネルの場所に移動
# flashcfg f zImage.initrd.treeboot check
HDD上から書き込みをしていますが、RAM DISKに容量があれば
このファイルを/tmpなどのRAM上に転送し、そこから書き込むほうが
無難です。
# flashcfg c harddisk

9. 動作確認
HDDでの起動、INITボタンを押してのRAM DISK起動に問題なければ
終了です。
起動していたら、dmesgコマンドでカーネルの起動メッセージを確認
できます。
現象によりますが、うんともすんとも言わなくなった場合、ディップスイッチ
切替によるファームウェアアップデートで戻せると思いますので、
マニュアルを参考にしてください。(たぶん)


お読みいただいている方で補足、コメント等ありましたらよろしくお願いします。


岡本剛和

この情報があなたの探していたものかどうか選択してください。
yes/まさにこれだ!   no/違うなぁ   part/一部見つかった   try/これで試してみる

あなたが探していた情報はどのようなことか、ご自由に記入下さい。特に「まさにこれだ!」と言う場合は記入をお願いします。
例:「複数のマシンからCATV経由でipmasqueradeを利用してWebを参照したい場合の設定について」
Follow-Ups: