バグやセキュリティフィックス等、必須の修正が入った最新のカーネルバージョンが可能な限り全てのアーキテクチャで利用可能であることを担保するために、カーネルチームは 2.6.12 から新しいパッケージング方法を採用しています。 新しい方法では、ほぼ全てのカーネル関連のバイナリパッケージは、linuxという唯一のソースパッケージからビルドされます。linux ソースパッケージは、現在サポートしている全てのアーキテクチャに対するカーネルイメージとカーネルヘッダのビルドを支援します。この章の次のセクションからは、linux ソースパッケージからビルドされるバイナリパッケージの命名規則とその内容について説明します。
version
このパッケージには Debian カーネルソースの tarball が含まれています。ソースのパッチレベルは、パッケージの Debian
リビジョンによって決定されます。例えば、4.2.5-1 というバージョンの linux-source-4.2
パッケージは、 パッチレベル 1 のパッチが適用されたバージョン 4.2.5 の Debian
カーネルソースを含んでいます。パッケージがインストールされると、tarball 化されたソースが
/usr/src/linux-source-
に配置され利用可能になります。
version
.tar.xz
version
このパッケージにはカーネルの API
を含めた関数へのマニュアルページが含まれています。これらは、/usr/share/man/man9/
にインストールされ、 標準の man コマンドで参照できます。ファイル名が衝突してしまうため、インストール可能な
linux-manual パッケージは どれか 1 つに限定されます。
version
このパッケージは、上記以外のカーネル関連のドキュメントを様々なフォーマットで収録しています。/usr/share/doc/linux-doc-
にインストールされます。
version
version
-abiname
このパッケージは、パッケージ名の version と abiname のツリー用にモジュールをビルドするための支援ファイルが含まれています。
あるカーネルパッケージを特定のハードウェア向けにデザインしたものは、アーキテクチャ、フィーチャセット、 フレーバで、一意に識別されます。全てのアーキテクチャ向けのカーネルは、2章Debian カーネルソース で説明されている手順で取得した、同一の Debian カーネルソースツリーからビルドされます。それぞれのアーキテクチャには普通、複数のフレーバのバイナリカーネルイメージがあります。異なるフレーバは同一のカーネルツリーからビルドされますが、バイナリイメージをビルドする際に使用されるカーネルの設定ファイルが異なります。
アップストリームで提供されていない追加のフィーチャセットが動作するカーネルをビルドするには、Debian
カーネルソースに追加の設定をする必要があります。この場合もやはり、複数のフレーバのバイナリイメージがフィーチャセットのツリーからビルドできます。例えば
i386
アーキテクチャには、共通の Debian
カーネルソースからビルドされた486
、686-pae
、
amd64
などの複数の異なるフレーバがあります。また、rt
フィーチャセットも含んでいます。これらのフィーチャセットが動作するカーネルをビルドするためのソースツリーは、Debian
カーネルソースに追加のパッチを当てることで取得できます。このソースツリーは例えば rt-686-pae
バイナリイメージフレーバをビルドするのに使われます。Debian
バイナリパッケージの名前にはフレーバと、必要であればフィーチャセットの名前が含まれています。
(アーキテクチャ名については気にする必要がありません。Debian tools は "正しい”
アーキテクチャのパッケージしかインストールを許可しないからです。)もしアーキテクチャに何もフィーチャセットが無い場合は、以下の説明にある、角かっこ( [
] )内のフィーチャセットの部分が名前から省略されます。
パッケージ名には abiname が含まれます。これは、カーネルのバイナリ互換レベルを識別するための小さな整数です。abiname が異なるカーネルにはバイナリ互換性がありません。異なる abiname のカーネルにアップグレードする場合、サードパーティ製のバイナリモジュールを新しいカーネル用にコンパイルし直さなければならない可能性が高くなります。アーキテクチャ依存のパッケージのリストと簡単な説明を以下に示します。
version
-abiname
-common[-featureset
]
このパッケージは、特定のフィーチャセット (もしフィーチャセットが空の場合はアーキテクチャ)
のための共通のカーネルヘッダが含まれています。フレーバ固有の linux-headers
パッケージと合わせることでカーネルヘッダのフルセットとなるため、ツリーの外のモジュールのビルドに最適です。このパッケージは通常の場合直接インストールができないパッケージで、あるフレーバ固有のヘッダパッケージの依存パッケージとしてのみインストールできます。(次の説明を読んで下さい。)/usr/src/linux-headers-
ディレクトリに配置されます。
version
-abiname
-common[-featureset
]
version
-abiname
[-featureset
]-flavour
このパッケージはフレーバ固有のヘッダファイルを提供します。これは対応する
linux-headers-version
-abiname
-common[-featureset
]
パッケージに依存しており、シンボリックリンクをディレクトリツリー中に設定します。そうすることで、/usr/src/linux-headers-
がツリー外のモジュールをビルドするために必要なフルセットのヘッダーを持っているように見えます。さらに詳しく知りたい場合は、「ツリーの外にあるカーネルモジュールをビルドする」
を参照して下さい。現在実行中の公式カーネルに対応したカーネルヘッダの完全なセットは次のコマンドでインストールすることができます:
version
-abiname
[-featureset
]-flavour
apt-get install linux-headers-$(uname -r)
featureset
]-flavour
featureset
]-flavour
これらの仮想パッケージは (依存関係を経由して)、 特定のフレーバ用の最新のバイナリイメージとそれに対応する (それぞれの) ヘッダファイルを提供します。例: linux-image-rt-686-pae
version
-abiname
[-featureset
]-flavour
このパッケージには、特定の アーキテクチャ/フィーチャセット/フレーバ を組み合わせたバイナリ の kernel
イメージとビルド済みのバイナリモジュールが含まれています。このパッケージによってインストールされたファイルの名前は、アーキテクチャに依存します。i386
アーキテクチャに必須のファイルは、典型的に以下のディレクトリに配置されています:
/boot/vmlinuz-version
-abiname
[-featureset
]-flavour
バイナリ (圧縮された) kernel イメージです。
/boot/initrd.img-version
-abiname
[-featureset
]-flavour
初期 RAM ファイルシステム (initramfs) イメージです。このファイルはインストール中に自動的に生成されたものです。パッケージの一部として提供されているものではないことに注意して下さい。 詳細は 7章起動用RAMイメージ (initramfs) アーカイブの管理 を参照して下さい。
/boot/config-version
-abiname
[-featureset
]-flavour
この特定のカーネルをビルドするために使用されるカーネルの設定ファイルです。必要であれば、カーネルをソースから再構築するために利用できます。
/lib/modules/version
-abiname
[-featureset
]-flavour
/
ディレクトリには、ビルド済みのバイナリカーネルモジュールが含まれています。
このパッケージは GNU glibc や、その他のシステムライブラリなどのユーザ空間プログラムによって使用される Linux カーネルヘッダを提供します。