[[FrontPage]] //#################################################################### #navi(../) //#################################################################### カーネルの再構築方法 (2) † 【現行カーネルのgccバージョンを調べてみる。】 [fedora@KURO-FC6 ~]$ dmesg KERNELBASE=c0000000 (r6=811820 r7=81182e) r3=0 (r4=0 r5=0) Linux version 2.6.18.1_kuro-boxHG (root@Kuro-server) (gcc バージョン 4.1.0 20060304 (Red H at 4.1.0-3)) #2 Fri Dec 15 23:10:41 JST 2006 [fedora@KURO-FC6 ~]$ 【make menuconfigをするために必要なパッケージの導入】 [root@KURO-FC6 ~]# yum install ncurses-devel make gcc patch file bzip2 diffutils なんか、10分ぐらいかかるけど、辛抱して待ってみる。 Is this ok [y/N]: y 【カーネル入手】 [root@KURO-FC6 ~]# wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.21.1.tar.bz2 【カーネル展開】 [root@KURO-FC6 ~]# tar jxf linux-2.6.21.1.tar.bz2 【玄箱パッチ入手&適用】 [root@KURO-FC6 ~]# wget http://genbako.vodapone.com/kurobox-sources-2.6.21.1.patch [root@KURO-FC6 ~]# cd linux-2.6.21.1 [root@KURO-FC6 linux-2.6.21.1]# patch -Np1 < ../kurobox-sources-2.6.21.1.patch 【CPUの種類を設定】 [root@KURO-FC6 linux-2.6.21.1]# vi Makefile で先頭に「ARCH = ppc」を含める。 【カーネル設定】 [root@KURO-FC6 linux-2.6.21.1]# cp config_kuroboxhg .config [root@KURO-FC6 linux-2.6.21.1]# make menuconfig 起動できることを確認したら何も変更せずに終了。 【カーネルコンパイル】:kernel,moduleのコンパイルに各1時間程度かかります。 [root@KURO-FC6 linux-2.6.21.1]# make vmlinux [root@KURO-FC6 linux-2.6.21.1]# make modules [root@KURO-FC6 linux-2.6.21.1]# make modules_install [root@KURO-FC6 linux-2.6.21.1]# objcopy -O binary vmlinux /boot/hda1/boot/vmlinux-2.6.21.1_kuro-boxHG 【ブートセレクタの仮設定】 [root@KURO-FC6 linux-2.6.21.1]# vi /boot/hda1/etc/kuro_boot.conf で、bootdefault=2はそのままで、以下の行を追加。 # Menu entry No.3 # menu3="FedoraCore6_custom(/dev/hda3)" loader3=/boot/loader_hg.o kernel3=/boot/vmlinux-2.6.21.1_kuro-boxHG option3='cmdline="root=/dev/hda3"' 【コンパイルカーネル仮起動】 まず以下のコマンドで電源を落とす。 [root@KURO-FC6 linux-2.6.21.1]# halt 玄箱の電源を入れて、数秒待つと[disk full]の赤LEDが点灯するので、電源ボタンを3回押す。 電源ボタンの最後の押下から3秒後に[disk full]の赤LEDが、点滅しだす。この点滅が3回であればブートセレクタの設定ファイルに追加したentry No.3のブートが走っているはず。 [POWER]の緑のLEDが点滅→点灯に変わったらtelnet してみる。 →電源ボタン長押しして、シャットダウンし、ブートセレクトせずに玄箱を立ち上げ、rootにて/var/log/messagesを見てみる。 May 12 13:28:50 KURO-FC6 kernel: Linux version 2.6.21.1-kuroboxHG (root@KURO-FC6) (gcc version 4.1.1 20070105 (Red Hat 4.1.1-51)) #1 Sat May 12 12:19:55 JST 2007 起動はかかっていたらしい。 /etc/sysconfig/network-scripts/ifcfg-eth0 ↑IPアドレス割り当てをdhcp→static(192.168.3.51)に変更。 /etc/hosts ↑「192.168.3.51 KURO-FC6」のコメントを外す 再度リブート&仮起動 Fedora Core release 6 (Zod) Kernel 2.6.21.1-kuroboxHG on an ppc login: fedora Password: Last login: Sat May 12 19:12:51 from 192.168.3.17 [fedora@KURO-FC6 ~]$ uname -a Linux KURO-FC6 2.6.21.1-kuroboxHG #2 Sat May 12 15:18:38 JST 2007 ppc ppc ppc GNU/Linux [fedora@KURO-FC6 ~]$ 今回は立ち上がったみたい。 DHCPクライアントになれないのは不思議だけどとりあえず、コンパイルしたカーネルが使えることを確認して、今回の記事は終了。 と思ったけど、未完でしたので追記。 【ブートセレクタのカスタムカーネルデフォルト起動化】 [root@KURO-FC6 ~]# vi /boot/hda1/etc/kuro_boot.conf で、「bootdefault=3」に変更し、reboot実行。 [disk full]の赤色LEDを観察し、赤点灯→消灯後、3回の点滅を確認。 [POWER] LEDが点滅→点灯に変わったことを確認して、 telnet 192.168.3.51を実行。 2.6.21.1カーネルのプロンプトが出ることを確認。で終了。 -------------------------------------------------------------------------------- //#################################################################### #navi(../) //####################################################################