WoodyをKernel 2.6へ

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

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

Amazonのベストセラー
(キーワード: Debian)

apt-lineの追加

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

deb http://backports.mithril-linux.org/debian woody kernel-2.6
deb http://backports.mithril-linux.org/debian woody module-init-tools

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

# apt-get update

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

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

# 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)

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

# apt-get install ash cramfsprogs initrd-tools module-init-tools stat

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

ソースツリーの取得

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

# 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

コンフィグレーション

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

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

# cd /usr/src/linux-2.6.7
# make menuconfig

ビルド

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

# cd /usr/src/linux-2.6.7
# make-kpkg --revision=xxxxx.1 kernel_image modules_image kernel_source kernel_headers

インストール

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

# 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
SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送