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