[ 前のページ ] [ 目次 ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 次のページ ]


Debian Linux カーネルハンドブック
第 3 章 - Debian カーネルパッケージ


3.1 ソースパッケージ

バグやセキュリティフィックス等、必須の修正が入った最新のカーネルバージョンが可能な限り全てのアーキテクチャで利用可能であることを担保するために、カーネルチームは 2.6.12 から新しいパッケージング方法を採用しています。新しい方法では、ほぼ全てのカーネル関連のバイナリパッケージは、linux (以前は linux-2.6 でした) という唯一のソースパッケージからビルドされます。linux ソースパッケージは、現在サポートしている全てのアーキテクチャに対するカーネルイメージとカーネルヘッダのビルドを支援します。この章の次のセクションからは、linux ソースパッケージからビルドされるバイナリパッケージの命名規則とその内容について説明します。


3.2 アーキテクチャ非依存パッケージ

linux-source-version

このパッケージには Debian カーネルソースの tarball が含まれています。ソースのパッチレベルはパッケージの Debian リビジョンによって決定されます。例えば、3.2.19-1 というバージョンの linux-source-3.2 パッケージには、パッチレベル 1 のパッチが適用されたバージョン 3.2.19 の Debian カーネルソースが含まれています。パッケージがインストールされると、tarball 化されたソースが /usr/src/linux-source-version.tar.bz2 に配置され利用可能になります。

linux-manual-version

このパッケージはカーネルの API を含めた関数へのマニュアルページが含まれています。これらは、/usr/share/man/man9/ にインストールされ、標準の man コマンドで参照できます。ファイル名が衝突してしまうため、linux-manual パッケージはどれか 1 つのバージョンしかインストールできません。

linux-doc-version

このパッケージは、上記以外のカーネル関連のドキュメントを様々なフォーマットで収録しています。このパッケージは /usr/share/doc/linux-doc-version にインストールされます。

linux-support-version-abiname

このパッケージは、パッケージ名の version と abiname のツリー用にモジュールをビルドするための支援ファイルが含まれています。


3.3 アーキテクチャ依存パッケージ

あるカーネルパッケージが特定のハードウェア向けに構成されている場合、ターゲットとなるハードウェアの種類は、アーキテクチャフィーチャセットフレーバで一意に識別することができます。全てのアーキテクチャ向けのカーネルは、同一の Debian カーネルソースツリーからビルドすることができ、そのソースツリーは Debian kernel source, 第 2 章 で説明した方法で入手できます。各アーキテクチャには大抵、複数のフレーバのバイナリカーネルイメージがあります。異なるフレーバは同一のカーネルツリーからビルドされますが、バイナリイメージをビルドする際に使用されるカーネルの設定ファイルが異なります。

アップストリームで提供されていない任意のフィーチャセットが動作するカーネルをビルドするには、Debian カーネルソースに追加の設定をする必要があります。この場合もやはり、複数のフレーバのバイナリイメージがフィーチャセットツリーからビルドできます。例えば i386 アーキテクチャには、 共通の Debian カーネルソースからビルドされた 486686-paeamd64 などの複数の異なるフレーバがあります。また i386 アーキテクチャは rt フィーチャセットも含んでいます。これらのフィーチャセットが動作するカーネルをビルドするためのソースツリーは、Debian カーネルソースに追加のパッチを当てることで取得できます。このソースツリーは例えば rt-686-pae バイナリイメージフレーバをビルドするのに使われます。Debian バイナリパッケージの名前にはフレーバと、必要であればフィーチャセットの名前が含まれています。(アーキテクチャ名については気にする必要がありません。Debian tools は"正しい”アーキテクチャのパッケージしかインストールを許可しないからです。)もしアーキテクチャに何もフィーチャセットが無い場合は、以下の説明にある、角かっこ( [ ] )内のフィーチャセットの部分がパッケージ名から省略されます。

パッケージ名には abiname が含まれます。これは、カーネルのバイナリ互換レベルを識別するための小さな整数です。abiname が異なるカーネルにはバイナリ互換性がありません。異なる abiname のカーネルにアップグレードする場合、サードパーティ製のバイナリモジュールを新しいカーネル用にコンパイルし直さなければならない可能性が高くなります。アーキテクチャ依存のパッケージのリストと簡単な説明を以下に示します。

linux-headers-version-abiname-common[-featureset]

このパッケージは、特定のフィーチャセット (もしフィーチャセットが空の場合はアーキテクチャ) のための共通のカーネルヘッダが含まれています。フレーバ固有の linux-headers パッケージと合わせることでカーネルヘッダのフルセットとなるため、ツリー外のモジュールのビルドに最適です。このパッケージは直接インストールされるべきではないパッケージで、特定のフレーバ固有のヘッダパッケージの依存パッケージとしてのみインストールできます。 (次の説明を読んで下さい。) /usr/src/linux-headers-version-abiname-common[-featureset] ディレクトリに展開されます。

linux-headers-version-abiname[-featureset]-flavour

このパッケージはフレーバ固有のヘッダファイルを提供します。このパッケージに対応する 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[-featureset]-flavour
linux-headers[-featureset]-flavour

これらの仮想パッケージは (依存関係を経由して)、 特定のフレーバ用の最新のバイナリイメージとそれに対応する (それぞれの) ヘッダファイルを提供します。例: linux-image-rt-686-pae

Debian 6.0 (squeeze) 以前は、ヘッダは linux-headers-2.6[-featureset]-flavour という名前のメタパッケージでした。

linux-image-version-abiname[-featureset]-flavour

このパッケージには、特定の アーキテクチャ/フィーチャセット/フレーバを組み合わせたバイナリの kernel イメージとビルド済みのバイナリモジュールが含まれています。このパッケージによってインストールされたファイルの名前は、アーキテクチャに依存します。i386 アーキテクチャに必須のファイルは以下のディレクトリが典型的な配置場所です:

/boot/vmlinuz-version-abiname[-featureset]-flavour

バイナリ (圧縮された) kernel イメージです。

/boot/initrd.img-version-abiname[-featureset]-flavour

初期 RAM ファイルシステム (initramfs) イメージです。このファイルはインストール中に自動的に生成されたものです。パッケージの一部として提供されているものではないことに注意して下さい。 詳細は 起動用RAMイメージ (initramfs) アーカイブの管理, 第 7 章 を参照して下さい。

/boot/config-version-abiname[-featureset]-flavour

この特定のカーネルをビルドするために使用されるカーネルの設定ファイルです。必要であれば、カーネルをソースから再構築するために利用できます。

/lib/modules/version-abiname[-featureset]-flavour/

ディレクトリには、ビルド済みのバイナリカーネルモジュールが含まれています。

linux-libc-dev

このパッケージは 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

The Debian Kernel Handbook Project