カーネル/概要
この文書ではGentooが主要なebuildリポジトリを通じて提供しているすべてのカーネルソースを概説します。
はじめに
Gentoo Linux のあらゆる側面と同様に、Gentoo カーネルチームの掲げる理念は、最大限の選択の自由をユーザーに与えることにあります。emerge -s "%@^sys-kernel/.*-sources" の出力を眺めてみると分かることですが、選ぶことのできるカーネルは実に多様です。この文書では、Gentoo が提供しているそれぞれのパッチセットの目的について簡単な説明を試みるとともに、その他に利用できるカーネルについても解説していきます。
サポートが提供されるカーネルパッケージ
Genkernel
genkernel は、ごく一般的なオプションやドライバを含んだカーネルや、initramfsを作成するツールです。カーネルを手作業でコンパイルすることに抵抗を感じる人によくおすすめされています。
詳しい情報は、Genkernel についての記事を参照してください。
gentoo-sources
大抵のユーザーには、sys-kernel/gentoo-sources がおすすめです。gentoo-sources は Linux 4.x および 5.x を基にして、セキュリティ問題やカーネルのバグの修正、そして稀に見られるシステムアーキテクチャとの互換性を高めるため、少々のパッチを当てたものです。
Gentoo カーネルチームの労力の大半が sys-kernel/gentoo-sources パッケージに注がれています。チームには卓越した開発者たちが関わっており、著名なカーネルハッカーである Greg Kroah-Hartmann の後援を受けて作業を行っています。彼は udev のメンテナーで、Linux 公式カーネルの USB・PCI サブシステムを取りまとめています。
gentoo-kernel
Distribution Kernel プロジェクトによって保守されている sys-kernel/gentoo-kernel パッケージは、自身のカーネルをゼロから設定することに関心がないユーザのために、多種多様なシステムの大部分で動作するデフォルト設定を提供します。
git-sources
sys-kernel/git-sources パッケージは、開発中であるカーネルツリーの日々の開発状況をそのまま反映するもので、カーネルの開発やテストに興味があるユーザーに向きます。バグ報告は Linux Kernel Bug Tracker や LKML (Linux Kernel Mailing List) に送信してください。
アーキテクチャ依存カーネル
sys-kernel/mips-sources は、特定のアーキテクチャにおいて最適な動作をするようにパッチが当てられています。この文書で言及されている他のパッチセットに含まれる、ハードウェアや機能を拡張するパッチも取り込んでいます。
サポートされないカーネルパッケージ
emerge -s "%@^sys-kernel/.*-sources"を実行すると出てくるその他のsys-kernel/*-sourcesについてご紹介します。各々については下記にて説明します。これらのカーネルは、Gentooカーネルチームはサポートしておらず、好意によってのみ提供されています。特に優劣はありませんから、アルファベット順で見ていくことにします。
pf-sources
sys-kernel/pf-sourcesは様々なカーネルパッチを一つにまとめたものです。例えばsys-kernel/ck-sourcesからBFSパッチセットや、sys-kernel/tuxonice-sourcesパッチ、LinuxIMQ、BFQ I/O schedulerなどです。
rt-sources
sys-kernel/rt-sources カーネルは sys-kernel/vanilla-sources をベースとして、PREEMPT_RT パッチを含んでいます。このパッチは Linux カーネルをリアルタイムオペレーティングシステム (RTOS) に変化させます。システムがリアルタイム性の保証を要件とする場合にはこれを使用してください。さらなる情報については、https://wiki.linuxfoundation.org/realtime/start をお読みください。
usermode-sources
usermode-sourcesはUser Mode Linux Kernelパッチで、sys-apps-usermode-utilitiesパッケージ内で見つけることができます。これらのカーネルパッチはLinuxを再帰的にLinux内で実行することができるように設計されています。User Mode Linuxはテストや仮想サーバサポートを目的としています。このLinuxの安定性やスケーラビリティへの素晴らしい贈り物についてのさらなる情報については、http://user-mode-linux.sourceforge.netを参照してください。
UMLとGentooのさらなる情報に関しては、Gentoo User-mode Linux ガイドを読んでください。
vanilla-sources
多くのLinuxユーザは恐らくsys-kernel/vanilla-sourcesパッケージに馴染みがあるでしょう。このカーネルはhttps://www.kernel.org/で配布されている公式カーネルソースのコピーです。Gentooカーネルチームはvanilla-sourcesに一切パッチを当てていないことに注意してください。これは、全く改変されていないLinuxカーネルで実行することを望む人々のためです。Gentooカーネルチームは代わりにsys-kernel/gentoo-sourcesを推奨しています。
カーネルのバージョンは、このパッケージの下で見つけることができます:3.x、4.x.
vanilla-kernel
@world アップグレードの一部としてきれいにアップグレードできるディストリビューションカーネルを、ゼロエフォートでシステムが実行できる方法を提供することを第一目標とする、新しい sys-kernel/vanilla-kernel パッケージ。第二目標は、異なるハードウェア、異なる /boot レイアウト、異なるブートローダを備えた多様なシステムに、事前設定不要でインストールできるユニバーサルバイナリパッケージをビルド可能にすることです。詳しくは、Michał Górny - A distribution kernel for Gentoo をお読みください。
zen-sources
sys-kernel/zen-sourcesパッケージはデスクトップシステムのために設計されています。これには主流のカーネルにはないコードが含まれています。Zenカーネルは、新機能を追加したり追加のハードウェアサポートのためのパッチが含まれ、デスクトップのための様々な改変が加えられています。現在Zen3.8カーネルシリーズはPortageツリーでマスクされています。Zenカーネルに関するさらなる情報に関しては、ZenカーネルのGithubリポジトリを訪ねてください。
かつて提供されていたカーネルパッケージ
aa-sources
aa-sourcesはすべての種類のパッチが含まれた、大幅に改変されたカーネルでした。上流のメンテナはカーネルパッチをリリースするのを止め、後にこのパッケージは削除されました。
alpha-sources
alpha-sourcesはAlphaアーキテクチャのための、ハードウェア互換性を向上させるパッチが適用された、2.4カーネルでした。これらのパッチは開発され、現在は主流のカーネルに含まれています。Alphaユーザは余分なパッチを必要とせずに最新のカーネルを実行できます。
アーキテクチャ依存カーネル
cell-sourcesはソニープレイステーション3のゲームコンソール上で動くように設計された2.6カーネルでした。
aufs-sources
aufs-sourcesは通常のカーネルソースに加え、aufs4のサポートと4.14/4.19系カーネルための公式なgenpatchset(gentoo-sourcesにはある)が追加されています。aufs4ファイルシステムを利用しようとしている場合に有用なカーネルです。詳細はSourceforge もしくは genpatches homepageを参照のこと。
ck-sources
ck-sourcesはCon Kolivas氏によるパッチセットです。このパッチセットは、システムのレスポンスと反応速度が向上するよう設計されており、サーバー用途からデスクトップ用途まで、あらゆる作業向けに設定が可能です。またこのパッチセットでは、新しいスケジューラであるMuQSSが導入されており、負荷がかかった状況でもシステムのレスポンスを維持しスムーズに動作するようになっています。サポートと情報については このウェブサイトないしirc.oftc.netのチャンネル#ck
にて。
development-sources
development-sources、kernel.orgから配布されている公式の2.6カーネルは、現在vanilla-sourcesパッケージ下で見つけることができます。
gentoo-dev-sources
gentoo-dev-sources、バク、セキュリティそして安定性に対する修正パッチが当てられた2.6カーネルは、現在gentoo-sourcesパッケージ下で見つけることができます。
grsec-sources
grsec-sourcesカーネルソースは、セキュリティに関するパッチの中でとりわけPaXをサポートするパッチを含む、最新のgrsecurityアップデート(grsecurityバージョン2.0かそれ以上)のパッチが当てられていました。grsecurityパッチはhardened-sourcesに含まれているので、このパッケージはPortageではもはや利用できません。
hardened-sources
2017年8月27日現在、grsecurityがパッチへのアクセス制限を掛けていることにより、hardened-sourcesはマスクされ、最終的にはGentooで利用できなくなります。こちらで完全なenews記事を読むことができます。
sys-kernel/hardened-sources は、Linux の公式カーネルに基づき、Gentoo をサーバーシステム上で動かすユーザーを対象にしたカーネルでした。かつてはSELinux や grsecurity のサポートなどを含む、 Gentoo Hardened のさまざまなサブプロジェクトのためのパッチとともに、安定性やセキュリティの強化を提供していました。詳しくは、Hardened project here on the wiki をご覧ください。
このカーネルでは、セキュリティを強固にするため、強力なパッチを提供しています。使用の前にintroduction to Hardened Gentoo article を一読してください。
hardened-dev-sources
hardened-dev-sourcesは現在hardened-sourcesパッケージ下で見つけることができます。
hppa-sources
hppa-sourcesは2.6カーネルで、HPPAアーキテクチャのハードウェア互換性を改善するためにパッチが適用されていました。 これらのパッチは開発され、メインラインカーネルに含まれています。 HPPAユーザーは、余分なパッチを必要とせずに最新のカーネルを実行できるようになりました。
mm-sources
mm-sourcesはvanilla-sourcesを基本として、Andrew Mortonのパッチセットが含まれていました。これらには、公式のカーネルに含まれる予定の(あるいはシステムに火がつくからリジェクトされる予定の!)実験的で最先端の機能が含まれていました。これらの機能は常に速いペースで変化し、一週間後には根本的に変わっていることもあることで知られていました。カーネルハッカーはしばしばmm-sourcesを高度な実験に使用していました。このパッケージは後にPortageツリーから削除されました。
openvz-sources
OpenVZは、Linux上に構築されたサーバー仮想化ソリューションです。 OpenVZは、単一の物理サーバーに隔離された安全な仮想プライベートサーバー(VPS)または仮想環境を作成し、サーバーの利用効率を高め、アプリケーションが競合しないようにします。 詳細については、https://www.openvz.orgを参照してください。
rsbac-dev-sources
rsbac-dev-sourcesカーネルはsys-kernel/rsbac-sourcesパッケージ下に見つけることができました。
rsbac-sources
2.6ベースのカーネルが用いられていた時、sys-kernel/rsbac-sourcesはRule Set Based Access Controls(RSBAC)を使用するためのパッチを含んでいました。これはメンテナ不足のため削除されましたが、まるで魔法かのように3.10カーネルシリーズとともに再び現れました。もし追加のセキュリティ機能が必要ならば、hardened-sourcesを使用してください。
selinux-sources
selinux-sources、沢山のセキュリティ強化が含まれている2.4カーネルは、2.6カーネルツリーのセキュリティ開発によってもはや用いられません。SELinuxの機能はhardened-sourcesパッケージ内で見つけることができます。
sh-sources
sh-sourcesは2.6カーネルで、SuperHアーキテクチャのハードウェア互換性を改善するためにパッチが適用されていました。これらのパッチは開発され、主流のカーネルに含まれています。SuperHユーザは、余分なパッチを必要とせずに最新のカーネルを実行できるようになりました。
sparc-sources
sparc-sourcesは2.4カーネルで、SPARCアーキテクチャのハードウェア互換性を改善するためにパッチが適用されていました。これらのパッチは開発され、主流のカーネルに含まれています。SPARCユーザは、余分なパッチを必要とせずに最新のカーネルを実行できるようになりました。
tuxonice-sources
tuxonice-sourcesは最期の時を迎えました。bug #627924を参照してください。
sys-kernel/tuxonice-sources(以前はsys-kernel/suspend2-sources)は、gentoo-sourcesに当てられているパッチであるgenpatchと、以前はsuspend2として知られていた、suspend-to-diskのLinuxカーネルへのよりよい実装であるTuxOniceに含まれるパッチの両方のパッチが当てられています。
uclinux-sources
uclinux-sourcesはMMUなしのCPUや組み込みデバイスへの使用を意図しています。さらなる情報に関しては、http://www.uclinux.orgを参照してください。セキュリティパッチや、テストのためのハードウェア不足のため、このパッケージはもはやPortageツリーにはありません。
win4lin-sources
win4lin-sourcesには、LinuxユーザがMicrosoft Windows (TM)アプリケーションを(Windows上で実行したときと)ほぼ同速で実行することができるよう、ユーザランドであるwin4linツールをサポートするパッチが当てられました。これらのカーネルソースはセキュリティ問題のため削除されました。
xbox-sources Xbox Linux カーネルのためのソース
xen-sources
xen-sourcesは2.6ベースのカーネルで、複数のオペレーティングシステムを1つの物理システムで動かすことができました。ユーザは仮想環境を作成でき、その中で1つ以上のゲストOSをXenで動いているホストOS上で実行することができました。
xen-sourcesのパッチは、バージョン3.0からの主流のLinuxカーネルに取り込まれました。
XenとGentooを動作させることに関するさらなる情報に関しては、WikiのXenの記事を読んでください。
関連項目
- カーネルのアップグレードガイド
- Gentooハンドブック
This page is based on a document formerly found on our main website gentoo.org.
The following people contributed to the original document: Brandon Low, Daniel Drake, Carl Anderson, Jorge Paulo, Benny Chuang, Gregorio Guidi, Shyam Mani, Joshua Saddler
They are listed here because wiki history does not allow for any external attribution. If you edit the wiki article, please do not add yourself here; your contributions are recorded on each article's associated history page.