WoodyをKernel 2.6へ

実は、「Kernel 2.6へのアップグレード」でKernelを2.6系列にしたマシンとは別に、Woodyのまま運用しているマシンがあります。

このマシンはサーバ用に使っているのでなるべく安定した環境で使いたいのですが、思ったよりSargeに2.6系列が簡単に導入できたので、kernelだけ2.6系列にアップグレードすることにしました。

apt-lineの追加

まず、Woody用に2.6系列kernelをバックポートしているパッケージをインストールできるようにします。それには/etc/apt/source.listに以下の2行を追加します。

[plain toolbar=false]
deb http://backports.mithril-linux.org/debian woody kernel-2.6
deb http://backports.mithril-linux.org/debian woody module-init-tools
[/plain]

ついでに、aptのデータベースを更新しておきます。

[plain toolbar=false gutter=false highlight_lines=”1″]
# apt-get update
[/plain]

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

さて、2.6系列カーネルを正常に起動させるにはカーネルの他にいくつかパッケージが必要です。カーネルをインストールする前にそれらを調べて入れておきましょう(私はカーネルは自分でビルドしたいので、先に必要なパッケージを入れる必要があります)。

まず、以下のコマンドで必要なパッケージを調べましょう。

[plain toolbar=false gutter=false highlight_lines=”1″]
# apt-get -s install kernel-image-2.6.6-1-386
Reading Package Lists… Done
Building Dependency Tree… Done
The following extra packages will be installed:
ash cramfsprogs initrd-tools module-init-tools stat
The following NEW packages will be installed:
ash cramfsprogs initrd-tools kernel-image-2.6.6-1-386 module-init-tools stat
0 packages upgraded, 6 newly installed, 0 to remove and 3 not upgraded.
Inst ash (0.3.8-37 Debian:3.0r2/stable)
Inst module-init-tools (3.0-pre10-3.backports.org.1 backports.org:3.0+backports.org/backports.org)
Inst cramfsprogs (1.1-3 Debian:3.0r2/stable)
Inst stat (3.3-2 Debian:3.0r2/stable)
Inst initrd-tools (0.1.70.backports.org.1 backports.org:3.0+backports.org/backports.org)
Inst kernel-image-2.6.6-1-386 (2.6.6-0.backports.org.1 backports.org:3.0+backports.org/backports.org)
Conf ash (0.3.8-37 Debian:3.0r2/stable)
Conf module-init-tools (3.0-pre10-3.backports.org.1 backports.org:3.0+backports.org/backports.org)
Conf cramfsprogs (1.1-3 Debian:3.0r2/stable)
Conf stat (3.3-2 Debian:3.0r2/stable)
Conf initrd-tools (0.1.70.backports.org.1 backports.org:3.0+backports.org/backports.org)
Conf kernel-image-2.6.6-1-386 (2.6.6-0.backports.org.1 backports.org:3.0+backports.org/backports.org)
[/plain]

私の例ではash, cramfsprogs, initrd-tools, module-init-tools, statが必要なので、これらを入れておきます。

[plain toolbar=false gutter=false highlight_lines=”1″]
# apt-get install ash cramfsprogs initrd-tools module-init-tools stat
[/plain]

カーネルパッケージの構築

ソースツリーの取得

まず、カーネルのソースを取得しましょう。現在用意されているDebianのカーネルソースパッケージは2.6.6でちょっと古いので、2.6.7のソースツリーを持ってきましょう。

[plain toolbar=false gutter=false highlight_lines=”1,2,3″]
# cd /usr/src
# wget http://ring.asahi-net.or.jp/pub/linux/kernel.org/kernel/v2.6/linux-2.6.7.tar.bz2
# tar xfvj linux-2.6.7.tar.bz2
[/plain]

コンフィグレーション

コンフィグレーションはmake menuconfigを使って行うのが良いでしょう。Woodyではmake xconfigちょっと無理っぽいです(QTが古いため?)。

コンフィグレーション項目が多すぎて、2.4系列から2.6系列に移行した場合は、困るかもしれません。その場合は、2.4系列のコンフィグレーションファイル(/boot/config-2.4.xxなど)を、読み込ませてから行いましょう(コンフィグレーションファイルの読み込みは、make menuconfigで表示されるメニューの「Load an Alternate Configuration File」メニューで行います)。

[plain toolbar=false gutter=false highlight_lines=”1,2″]
# cd /usr/src/linux-2.6.7
# make menuconfig
[/plain]

ビルド

せっかくなので、カーネル以外にもヘッダやソースのパッケージも作っておきましょう。

[plain toolbar=false gutter=false highlight_lines=”1,2″]
# cd /usr/src/linux-2.6.7
# make-kpkg –revision=xxxxx.1 kernel_image modules_image kernel_source kernel_headers
[/plain]

インストール

では、できたパッケージをインストールしましょう。インストール後にリブートすればkernel 2.6.7で起動するはずです。

[plain toolbar=false gutter=false highlight_lines=”1,2″]
# cd /usr/src
# dpkg -i kernel-image-2.6.7_xxxxx.1_i386.deb kernel_source-2.6.7_xxxxx.1_all.deb kernel_headers-2.6.7_xxxxx.1_all.deb
[/plain]

フォローする