岡本です。 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コマンドでカーネルの起動メッセージを確認 できます。 現象によりますが、うんともすんとも言わなくなった場合、ディップスイッチ 切替によるファームウェアアップデートで戻せると思いますので、 マニュアルを参考にしてください。(たぶん) お読みいただいている方で補足、コメント等ありましたらよろしくお願いします。 岡本剛和
Follow-Ups:
- [obu:01142] Re: OBSS のカーネル再構築ISHIKAWA Takashi
- [obu:01281] Re: OBSS のカーネル再構築Hisaaki Shibata
- Prev by Subject: [obu:01140] Re: 東京忘年会的オフ会しましょう @1221 製品発表展示会
- Next by Subject: [obu:01142] Re: OBSS のカーネル再構築
- Previous by thread: [obu:01138] Re: OBSS の initrd を書き換えたい
- Next by thread: [obu:01142] Re: OBSS のカーネル再構築
- Indexes:[Main][Thread]