Debian のカーネルはバイナリ形式で配布されており、 Debian カーネルソースからビルドされます。Debian カーネルソースは
(大抵の場合)www.kernel.orgとそのミラーで配布されているアップストリームの
(または "素" の) カーネルソースとは異なる可能性があるということを認識しておきましょう。ライセンスの制約により、不明確なライセンス情報や
Debian フリーソフトウェアガイドライン (DFSG) に合致しないカーネルのパーツは Debian アーカイブの
main
セクションから除外されます。この除外プロセスを経て
linux_
の
tarball
ができます。これはオリジナルのアップストリームソースとして提供されます。version
.orig.tar.xzversion
は実際のアップストリームのバージョンです。
ファームウェアを除外するガイドラインが一般決議: "Linux Kernel のソースが無いファームウェアの扱いについて で採択され、 リリースマネージャによって 基本方針表明 が行われました。バージョン 2.6.31-1 以降、ソースが無いファームウェアは全て Debian パッケージから削除されましたが、多くは firmware-nonfree パッケージに収録されています。ファームウェアのライセンス情報と、削除に関連した追加の情報は Debian Wiki の KernelFirmwareLicensing の項目を参照して下さい。
Debian
のバイナリ形式のカーネルをビルドするためのソースはlinux_
から入手したソース
(このソースは問題のある箇所を除外した素のカーネルソースです) にDebian パッチを当てることで手に入ります。
これらのパッチは深刻なバグやセキュリティホールに対する必須の修正が実装されているものがほとんどです。Debian の カーネルパッケージは
version
.orig.tar.xzversion
-
revision
というフォーマットになっており、このversion
はアップストリームのカーネルバージョン (例えば
3.2.20等) を、revision
はパッチレベルをあらわします。たとえば、3.2.20-1
というバージョンナンバは linux_3.2.20.orig.tar.xz
のソースにパッチレベル 1
のパッチが当たっているという意味になります。特定のパッケージには、アップストリームのソースには入っていない rt
のようなオプション機能が組込まれている場合があります。
Debian カーネルチームの基本となるポリシーは、パッチはバグを修正するものかハードウェアのサポートを追加するものでなければならないことと、アップストリームのカーネルメンテナによってすでに受入れられた変更にもとづいていなければならないことです。ただし、この変更はアップストリームのリリースに含まれている必要はありません。このポリシーにより、次のアップストリームバージョンへ移行する際に、増え続ける Debian 特有のパッチをメンテナンスし続けることなく、ほとんどのパッチを捨てることができます。オプション機能を提供するパッチを取込んでもらうためには、まずアップトリームのメンテナにパッチを投げてみましょう。