Product SiteDocumentation Site

8.11. カーネルのインストール

8.11.1. Debian カーネルパッケージの特徴

Debian カーネルパッケージはカーネルイメージ (vmlinuz-version) をインストールします。カーネルの設定 (config-version) とシンボルテーブル (System.map-version) は /boot/ に置かれます。シンボルテーブルが無ければ、開発者はカーネルエラーメッセージの意味を理解できません; シンボルテーブルが無ければ、カーネルの「oops」(「oops」とはカーネル空間で起こるユーザ空間プログラムのセグメンテーション違反に相当するエラーです。言い換えれば、不正なポインタを参照して値を取得したことで生成されるメッセージです) に含まれる情報は、数字で表したメモリアドレスだけです。アドレスとシンボルや関数名を対応付けるテーブルが無ければ、この情報は役に立ちません。モジュールは /lib/modules/version/ ディレクトリにインストールされます。
パッケージの設定スクリプトは自動的に initrd イメージを生成します。initrd はブートローダによってメモリに読み込まれる小さなシステムで (このためその名前は「init RAM ディスク」です)、Linux カーネルは initrd を使って完全な Debian システムを含むデバイス (例えば、IDE ディスクのドライバ) にアクセスするために必要なモジュールを読み込みます。最後に、post-installation スクリプトは /vmlinuz/vmlinuz.old/initrd.img/initrd.img.old のシンボリックリンクを更新します。これらはそれぞれインストールされた最新の 2 つのカーネルと、カーネル対応する initrd イメージを指します。
これらの作業のほとんどは /etc/kernel/*.d/ ディレクトリの中にあるフックスクリプトが担っています。例えば、grub との統合は、カーネルがインストールまたは削除された際に update-grub を呼び出す /etc/kernel/postinst.d/zz-update-grub/etc/kernel/postrm.d/zz-update-grub が担っています。

8.11.2. dpkg を使ったインストール

apt-get はとても便利なので、簡単に低レベルツールについて忘てしまいます。しかし、コンパイルされたカーネルをインストールする最も簡単な方法は dpkg -i package.deb などのコマンドを使うやり方です。ここで package.deblinux-image パッケージの名前で、例えば linux-image-3.2.48-falcot_1_amd64.deb です。
この章で説明された設定手順は基本であり、サーバシステムにもワークステーションにも適用でき、半自動化された方法で広く複製できます。しかしながら、この設定手順だけで完全に設定されたシステムを十分に提供することはできません。「Unix サービス」として知られている低レベルプログラムを初めとする、幾つかの要素に対する設定がまだ必要です。