Kernel の再構築について

Last Updated at $Date: 2006/01/10 07:29:24 $.

注意事項
目次

準備

/etc/kernel-img.conf

Debian の標準 boot loader は LILO ですが,GRUB に是非入れ替えましょう. 頻繁に kernel を入れ替えているような場合は特に便利で,再構築した kernel にトラブルが発生した場合にも簡単に対処できます.

インストール手順は以下の通りです.

apt-get install grub
grub-install /dev/hda
update-grub

次に,/usr/share/doc/grub/README.Debian の指示にしたがって,/etc/kernel-img.conf に以下の指定を加えておきます.

postinst_hook = /sbin/update-grub
postrm_hook = /sbin/update-grub
do_bootloader = no
/etc/lilo.conf

LILO を利用している場合は,再構築したカーネルが正常に起動しない場合に備えて, 再構築以前に使用していた kernel を使って起動できるように LILO を設定しておく方が安全です.そのため,/etc/lilo.conf に,以下のように設定しておきます.

boot=/dev/hda1
root=/dev/hda1
install=/boot/boot.b
map=/boot/map
vga=normal
delay=20
image=/vmlinuz
	label=Linux
	alias=l
	read-only
image=/vmlinuz.old
	label=Linux-old
	alias=o
	read-only
/etc/kernel-pkg.conf

古いノートPCは,bzImage 形式の kernel image を取り扱うことが出来ない場合があります. その場合は,make-kpkg を実行する時に明示的にオプション(--zimage)を指定するか, /etc/kernel-pkg.conf に以下のような設定を加えて,zImage 形式の kernel image を作成します.

kimage := zImage

毎回,オプションを指定して実行するのは面倒ですし,トラブルの原因にもなりますから, 設定ファイルを書いておく方が良いでしょう.


作業手順

  1. kernel パッケージの構築とインストール
  2. module パッケージの構築とインストール

kernel パッケージの構築とインストール

以下の手順で kernel パッケージを構築・インストールします. この手順にしたがって作業すると,任意のディレクトリを作業場所として, ユーザー権限だけを使って安全に再構築することが出来ます(参考記事 1, 2, 3, 4).

apt-get install kernel-source-2.4.27
tar xjf /usr/src/kernel-source-2.4.27.tar.bz2
cd kernel-source-2.4.27
make menuconfig
make-kpkg clean
fakeroot make-kpkg --initrd --revision=2:custom1.0 kernel_image kernel_headers
sudo dpkg -i ../kernel-image-2.4.27_custom1.0_i386.deb
sudo dpkg -i ../kernel-headers-2.4.27_custom1.0_i386.deb

以前の kernel の設定を利用する場合は,make menuconfig を実行する代りに, 以下の手順を実行してください.

cp -p /boot/config-2.4.26 .config
make oldconfig

再起動して,新しい kernel を使った環境に移行し,に進みます.

最近の kernel source パッケージは,kernel-source-x.y.z という名前から linux-source-x.y.z という名前に変更されています.

module パッケージの構築とインストール

Sarge 以後の環境では, module-assistant というコマンドを使って,モジュールを作成します.

Woody 環境では,必要な module の source パッケージをインストールし, シェルスクリプトを実行して, module パッケージを構築・インストールします.

apt-get install alsa-source
apt-get install thinkpad-source
sh ./build-modules
sudo dpkg -i alsa-modules-2.4.27_1.0.5a-1+custom1.0_i386.deb
sudo dpkg -i thinkpad-modules-2.4.27_25.5-1+custom1.0_i386.deb

このシェルスクリプトを使うと, Debian で公式に配布されている kernel-image と kernel-headers を参照して,module パッケージのみを構築することもできます.


作業手順(旧)

実際の作業手順は,以下の通りです. この手順にしたがって作業すると,任意のディレクトリを作業場所として, ユーザー権限だけを使って安全に再構築することが出来ます(参考記事 1, 2, 3, 4).

apt-get install kernel-source-2.2.19
apt-get install pcmcia-source
apt-get install alsa-source
bzcat /usr/src/kernel-source-2.2.19.tar.bz2 | tar xf -
( cd /usr/src && tar cf - modules )| tar xf -
tar xzf /usr/src/pcmcia-cs.tar.gz
tar xzf /usr/src/alsa-driver.tar.gz
export MODULE_LOC=`pwd`/modules
cd kernel-source-2.2.19/
make menuconfig
make-kpkg clean
fakeroot make-kpkg --revision=2:custom1.1 kernel_image kernel_headers modules_image
sudo dpkg -i ../kernel-image-2.2.19_custom1.1_i386.deb
sudo dpkg -i ../pcmcia-modules-2.2.19_3.1.18-1+custom1.1_i386.deb
sudo dpkg -i ../alsa-modules-2.2.19_0.5.8b+custom1.1_i386.deb

以前のkernel の設定を利用する場合は,make menuconfig の代りに, 以下の手順を実行してください.

cp -p /boot/config-2.2.18 .config
make oldconfig

再構築オプション

実際に,kernel を再構築する時に設定したオプションは以下の通りです.


パッチ

cpufreq-2.4.25.diff.gz

CPUFreq パッチの配布元には, 2.4.22-pre6 を対象とするパッチしかなかったので,2.4.25 に適用できるように修正しました.

keyboard-chattering-patch

SS3330 を含む幾つかの東芝製ノートPCのキーボードは,チャタリングが多発するため, 非常に使い勝手が悪くなってしまっていますが,このパッチによって症状を軽減することが出来ます. 詳細については,東芝 Linux Users ML に投稿された記事を参照してください.


[Top] / [Debian Tips] / [ThinkPad X31,X20,s30,560 / Portage SS3330]