カーネルの再構築方法 (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カーネルのプロンプトが出ることを確認。で終了。

--------------------------------------------------------------------------------


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-01-03 (水) 21:45:50 (704d)