実は、「Kernel 2.6へのアップグレード」でKernelを2.6系列にしたマシンとは別に、Woodyのまま運用しているマシンがあります。
このマシンはサーバ用に使っているのでなるべく安定した環境で使いたいのですが、思ったよりSargeに2.6系列が簡単に導入できたので、kernelだけ2.6系列にアップグレードすることにしました。
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
コメント