Debianのkernelを再構築する

Debianのkernelを再構築したのでそのときのメモ。

kernelのソースのダウンロード

http://www.kernel.org/からkernelのソースをダウンロードする。
今回はlinux-2.6.21.5.tar.bz2を落としてきた。

必要なパッケージのインストール

kernel-packageとかmakeとかが必要なのでインストールする。

# apt-get build-dep emacs
# apt-get install kernel-package

「build-dep emacs」のかわりに「install build-essential」でもいけると思う。

コンフィグレーション

今回はテストということで、コンフィグレーションはほぼ現状のkernelのままでいく。

まず、ダウンロードしたkernelのソースを/usr/srcの下に解凍する。

# tar xvjf linux-2.6.21.5.tar.bz2 -C /usr/src
# cd /usr/src
# ln -s linux-2.6.21.5 linux

次に、現在のkernelのconfigファイルをコピーして、configを行う。

# cd linux
# cp /boot/config-2.6.18-4-686 .config
# make oldconfig

make中に聞かれたことに関しては適当にEnterを押しつづけた。
CPUの選択だけ、現在使用しているCPUにあっているのを選択した。

kernelのコンパイル

# make-kpkg clean
# make-kpkg --append_to_version -686 --initrd --revision=custom-1.0 kernel_image

「--append_to_version」をつけると、kernelのバージョンの後に好きな文字をつけれるのかな?
「uname -r」とかすると「2.6.21.5-686」みたいな感じになる。
revisionには英数字と+-.が使用可能。必ず数字を含むこと。
initrdを使用する場合は--initrdオプションをつける。

kernelのインストール

コンパイルが終了すると、/usr/srcの下にkernelのimageファイルが出来上がるので、dpkgコマンドでインストールをする。

# cd /usr/src
# dpkg -i linux-image-2.6.21.5-686_custom-1.0_i386.deb

grubの設定も勝手にやってくれるはずだけど、一応/boot/grub/menu.lstを確認しておく。