玄箱HGのカーネルをコンパイルする

玄箱カーネルを自分でコンパイルすることで、必要なカーネルモジュールを抜き差しすることが出来ます。
カーネルコンパイルする環境は、クロス・コンパイル環境(on openSUSE11.3)で作成しています。

準備

  1. クロス環境を整えたPC
  2. debian lennyの入った玄箱HG

手順

カーネルソースと玄箱用パッチを取得する。

1.Genbako kernel collectionからカーネルソースと玄箱用パッチを適当なディレクトリにファイルをダウンロードします。

$ wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.25.tar.bz2
$ wget http://www.genbako.com/kurobox-sources-2.6.25.patch

2.ダウンロードしたファイルを展開する。

$ tar jxvf linux-2.6.25.tar.bz2

3.展開したカーネルにパッチを適用する。

$ patch -Np0 < kurobox-sources-2.6.25.patch

カーネルコンパイルを行う。

1.コンフィギュレーションカーネルモジュールの設定を行う。必要なモジュールを有効にする。

% cd linux-2.6.25
% ARCH=ppc CROSS_COMPILE=ppc-linux- make menuconfig

ちなみに、下記の方法で、以前の設定を読み込む。

ARCH=ppc CROSS_COMPILE=ppc-linux- make oldconfig

2.カーネルイメージのコンパイルを行う。

% ARCH=ppc CROSS_COMPILE=ppc-linux- make vmlinux

3.モジュールのコンパイルを行う

% ARCH=ppc CROSS_COMPILE=ppc-linux- make modules
% mkdir ../kernel-2.6.25
% ARCH=ppc CROSS_COMPILE=ppc-linux- INSTALL_MOD_PATH=../modules make modules_install

4.玄箱のloader.oに合致するようにバイナリを変換する。

% ppc-linux-objcopy -O binary vmlinux ../modules/vmlinux.bin
% cp System.map ../modules
% cp .config ../modules