Kernel/概要
この文書では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 を基にして、セキュリティ問題やカーネルのバグの修正、そして稀に見られるシステムアーキテクチャとの互換性を高めるため、少々のパッチを当てたものです。
Gentoo カーネルチームの労力の大半が sys-kernel/gentoo-sources パッケージに注がれています。チームには卓越した開発者たちが関わっており、著名なカーネルハッカーである Greg Kroah-Hartmann の後援を受けて作業を行っています。彼は udev のメンテナーで、Linux 公式カーネルの USB・PCI サブシステムを取りまとめています。
gentoo-kernel
The sys-kernel/gentoo-kernel package maintained by the Distribution Kernel project provides a default configuration that works for most of diverse systems, for users who are not interested in configuring their own kernel from scratch.
git-sources
sys-kernel/git-sources パッケージは、開発中であるカーネルツリーの日々の開発状況をそのまま反映するもので、カーネルの開発やテストに興味があるユーザーに向きます。バグ報告は Linux Kernel Bug Tracker や LKML (Linux Kernel Mailing List) に送信してください。
アーキテクチャ依存カーネル
sys-kernel/mips-sources と sys-kernel/xbox-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
The sys-kernel/rt-sources kernel is based on sys-kernel/vanilla-sources and includes the PREEMPT_RT patch. That patch turns the Linux kernel into a real-time operating system (RTOS). Use this if your system requires real-time guarantees. For more information, see 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
New sys-kernel/vanilla-kernel package whose primary purpose is to provide a zero-effort way of ensuring that your system is running a working distribution kernel that gets cleanly upgraded as part of @world upgrades. The secondary goal is to make it possible to build universal binary packages that can be afterwards installed on variety of systems with different hardware, /boot layouts and bootloaders. For details see 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
sys-kernel/aufs-sourcesは通常のカーネルソースに加え、aufs4のサポートと4.14/4.19系カーネルための公式なgenpatchset(gentoo-sourcesにはある)が追加されています。aufs4ファイルシステムを利用しようとしている場合に有用なカーネルです。詳細はSourceforge もしくは genpatches homepageを参照のこと。
ck-sources
sys-kernel/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 sources for the Xbox Linux kernel
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.