Difference between revisions of "Kernels (日本語)"

From ArchWiki
Jump to: navigation, search
m (伝統的な方法)
m (AUR パッケージ)
(One intermediate revision by the same user not shown)
Line 5: Line 5:
 
[[it:Kernels]]
 
[[it:Kernels]]
 
[[zh-CN:Kernels]]
 
[[zh-CN:Kernels]]
{{Article summary start|概要}}
+
{{Related articles start (日本語)}}
{{Article summary text|この記事では Arch のカーネル、カーネルパッチ、カーネルコンパイルについて記述しています。}}
+
{{Related2|Kernel modules (日本語)|カーネルモジュール}}
{{Article summary heading|関連項目}}
+
{{Related2|Kernel Panics (日本語)|カーネルパニック}}
{{Article summary wiki|Kernel modules (日本語)}}
+
{{Related|Linux-ck}}
{{Article summary wiki|Kernel Panics (日本語)}}
+
{{Related|sysctl}}
{{Article summary wiki|Linux-ck}}
+
{{Related articles end}}
{{Article summary wiki|sysctl}}
+
{{Article summary end}}
+
  
 
[[Wikipedia:ja:カーネル|Wikipedia]] より:
 
[[Wikipedia:ja:カーネル|Wikipedia]] より:
Line 22: Line 20:
 
===公式パッケージ===
 
===公式パッケージ===
 
;{{Pkg|linux}}
 
;{{Pkg|linux}}
:[core] リポジトリにある Linux カーネルとモジュール。バニラカーネル(素のカーネル)に[https://projects.archlinux.org/svntogit/packages.git/tree/trunk?h=packages/linux 3つのパッチが適用されています]。
+
:[core] リポジトリにある Linux カーネルとモジュール。バニラカーネル(素のカーネル)に[https://projects.archlinux.org/svntogit/packages.git/tree/trunk?h=packages/linux 2つのパッチが適用されています]。
  
 
;{{Pkg|linux-lts}}
 
;{{Pkg|linux-lts}}
Line 32: Line 30:
  
 
;{{AUR|linux-ck}}
 
;{{AUR|linux-ck}}
:Con Kolivas の ck1 パッチセットを適用した Linux カーネル。
+
:Con Kolivas の ck1 パッチセットを適用した Linux カーネル。
:[[PKGBUILD (日本語)]] 内で次の追加オプションを切り替えることができます: BFQ スケジューラ, nconfig, localmodconfig, 動作中のカーネル設定の利用。
+
:[[PKGBUILD (日本語)|PKGBUILD]] 内で次の追加オプションを切り替えることができます: BFQ スケジューラ, nconfig, localmodconfig, 動作中のカーネル設定の利用。
 
:これらのパッチはシステムのレスポンスを改善するように作られており、特にデスクトップに向きますが、どのような使用目的でも問題なく使えます。ck パッチには BFS が含まれています。
 
:これらのパッチはシステムのレスポンスを改善するように作られており、特にデスクトップに向きますが、どのような使用目的でも問題なく使えます。ck パッチには BFS が含まれています。
 
:詳しい情報とインストールの方法については [[linux-ck]] を読んで下さい。
 
:詳しい情報とインストールの方法については [[linux-ck]] を読んで下さい。
Line 41: Line 39:
  
 
;{{AUR|linux-fbcondecor}}
 
;{{AUR|linux-fbcondecor}}
:fbcondecor をサポートした Linux カーネルとモジュール。
+
:[[Fbsplash|fbcondecor]] をサポートした Linux カーネルとモジュール。
  
 
;{{AUR|linux-grsec}}
 
;{{AUR|linux-grsec}}
:セキュリティを高めるための grsecurity と PaX パッチがあてられた Linux カーネルとモジュール。
+
:セキュリティを高めるための [[Grsecurity Patchset]] と PaX パッチがあてられた Linux カーネルとモジュール。
  
;{{AUR|linux-ice}}
+
;{{AUR|linux-mainline}}
:gentoo-sources パッチセットが適用され TuxOnIce をサポートした Linux カーネルとモジュール。
+
:メインラインの Linux カーネルとモジュール。
 
+
;{{AUR|linux-lqx}}
+
:[http://liquorix.net Liquorix] はデスクトップ・マルチメディア・ゲーム用途に最適な設定を使ってビルドされたディストロカーネル代替です。多くの場合 Debian Linux でパフォーマンス向上カーネルとして使われています。Liquorix パッチセットのメンテナである damentz は Zen パッチセットの開発者でもあり、多くの改善がパッチセットに含まれています。
+
  
 
;{{AUR|linux-pax}}
 
;{{AUR|linux-pax}}
 
:セキュリティを高めるための PaX パッチがあてられた Linux カーネルとモジュール。
 
:セキュリティを高めるための PaX パッチがあてられた Linux カーネルとモジュール。
 +
 +
;{{AUR|linux-ice}}
 +
:gentoo-sources パッチセットが適用され [[TuxOnIce]] をサポートした Linux カーネルとモジュール。
 +
 +
;{{AUR|linux-lqx}}
 +
:[http://liquorix.net Liquorix] はデスクトップ・マルチメディア・ゲーム用途に Debian 用の設定と ZEN カーネルソースを使ってビルドされたディストロカーネル代替です。Debian Linux ではパフォーマンス向上カーネルとしてよく使われています。Liquorix パッチセットのメンテナである Damentz は ZEN パッチセットの開発者でもあります。
  
 
;{{AUR|linux-pf}}
 
;{{AUR|linux-pf}}
:[http://pf.natalenko.name/ pf-kernel] パッチセット [-ck patchset (BFS 含む), TuxOnIce, BFQ], aufs2, squashfs-lzma が含まれた Linux カーネルとモジュール。
+
:pf-kernel パッチ [-ck パッチセット (BFS 含む), TuxOnIce, BFQ] と aufs3 が含まれた Linux カーネルとモジュール。
  
 
;{{AUR|linux-zen}}
 
;{{AUR|linux-zen}}
:The [http://zen-kernel.org Zen Kernel] は毎日の利用のために最高の Linux カーネルを提供するカーネルハッカーのコラボレーションによって生まれました。
+
:[http://zen-kernel.org ZEN Kernel] は毎日の利用のために最高の Linux カーネルを提供するカーネルハッカーのコラボレーションによって生まれました。[https://bbs.archlinux.org/viewtopic.php?id=117157 このリポジトリ]で ZEN カーネルのビルドが得られます。
  
 
;{{AUR|kernel-netbook}}
 
;{{AUR|kernel-netbook}}
Line 65: Line 66:
  
 
;{{AUR|linux-lts-tresor}}
 
;{{AUR|linux-lts-tresor}}
:[http://www1.informatik.uni-erlangen.de/tresor TRESOR] が統合された、安定した LTS Linux カーネルとモジュール
+
:[http://www1.informatik.uni-erlangen.de/tresor TRESOR] が統合された、安定した LTS Linux カーネルとモジュール。
 +
 
 +
;{{AUR|linux-git}}
 +
:[http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git Linus Torvalds の git リポジトリ] から得たソースを使ってビルドする Linux カーネルとモジュール。
  
 
==パッチとパッチセット==
 
==パッチとパッチセット==
Line 71: Line 75:
 
カーネルにパッチをあてる理由は様々です。パフォーマンスを向上させたり reiser4 ファイルシステムのサポートなどメインラインに含まれていない機能を使うため、というのが大多数の理由でしょう。他の理由としては、カーネルの改善がどうやってなされるのか知ってみたいという好奇心もあるかもしれません。
 
カーネルにパッチをあてる理由は様々です。パフォーマンスを向上させたり reiser4 ファイルシステムのサポートなどメインラインに含まれていない機能を使うため、というのが大多数の理由でしょう。他の理由としては、カーネルの改善がどうやってなされるのか知ってみたいという好奇心もあるかもしれません。
  
しかしながら、システムのスピードアップにベストな方法はまずカーネルをあなたのシステム、特にアーキテクチャとプロセッサーのタイプに適合させることだと気づくのは重要なことです。速度をアップさせるために、カスタムカーネルの(一般的なアーキテクチャ用の設定を使って)パッケージ済みのバージョンを使うのは推奨されませんし、あまり価値はありません。他の利点は、あなたが持っていない・使っていない物のサポートを含めないことで、カーネルのサイズ(そしてビルド時間)を減らすことができるということです。例えば、新しいカーネルバージョンがリリースされた時、私はいつもカーネルのコンフィグを皮切りに bluetooth, video4linux, 1000Mbit イーサネットといったサポートを削除します。次のカーネルをビルドする'''前に'''、'''私は'''使わないものを知っています!このページではカーネルコンフィグのカスタマイズについては触れませんが、最初のステップとしてカーネルのビルドを行い、それからパッチセットを使ってみるのを推奨します。
+
しかしながら、システムのスピードアップにベストな方法はまずカーネルをあなたのシステム、特にアーキテクチャとプロセッサーのタイプに適合させることだと気づくのは重要なことです。速度をアップさせるために、カスタムカーネルの(一般的なアーキテクチャ用の設定を使って)パッケージ済みのバージョンを使うのは推奨されませんし、あまり価値はありません。他の利点は、あなたが持っていない・使っていない物のサポートを含めないことで、カーネルのサイズ(そしてビルド時間)を減らすことができるということです。例えば、新しいカーネルバージョンがリリースされた時、私はいつもカーネルのコンフィグを皮切りに bluetooth, video4linux, 1000Mbit イーサネットといったサポート(マシンに必要ない機能)を削除します。このページではカーネルコンフィグのカスタマイズについては触れませんが、最初のステップとしてカーネルのビルドを行い、それからパッチセットを使ってみるのが推奨です。
  
 
===インストール方法===
 
===インストール方法===
Line 80: Line 84:
  
 
[[#コンパイル]] を見て下さい。
 
[[#コンパイル]] を見て下さい。
 +
 +
{{note|新しいカーネルを使うために、あなたのブートローダ (例: GRUB) のブートオプションを変更するのを忘れないで下さい。}}
  
 
===主なパッチセット===
 
===主なパッチセット===
Line 91: Line 97:
 
{{note|This section is for '''information only''' - clearly no guarantees of stability or reliability are implied by inclusion on this page.}}
 
{{note|This section is for '''information only''' - clearly no guarantees of stability or reliability are implied by inclusion on this page.}}
  
====[[Linux-ck|-ck]] ====
+
==== -ck ====
  
These are patches designed to improve system responsiveness with specific emphasis on the desktop, but suitable to any workload.  The patches are created and maintained by Con Kolivas, his site is at http://users.on.net/~ckolivas/kernel/.  Con maintains a full set but also provides the patches broken down so you can add only those you prefer.
+
[[Linux-ck]] にはシステムのレスポンスを良くするためのパッチが含まれています。デスクトップ用途に重点が置かれていますが他の環境でも使えます。このパッチは Con Kolivas によって作成・メンテナンスされており、彼のサイトは http://users.on.net/~ckolivas/kernel/ にあります。Con はフルセットを管理していますがパッチを分けて提供もしており、使いたいものだけを追加することが可能です。
  
The -ck patches can be found at http://ck.kolivas.org/patches/3.0/
+
-ck パッチは http://ck.kolivas.org/patches/3.0/ から入手できます
  
 
====-rt====
 
====-rt====
  
This patchset is maintained by a small group of core developers, led by Ingo Molnar. This patch allows nearly all of the kernel to be preempted, with the exception of a few very small regions of code ("raw_spinlock critical regions"). This is done by replacing most kernel spinlocks with mutexes that support priority inheritance, as well as moving all interrupt and software interrupts to kernel threads.
+
このパッチセットは Ingo Molnar 率いるコアデベロッパのグループによってメンテナンスされています。このパッチを使うことでカーネルのほとんど全てをリアルタイム実行できるようになります、ただしコードの非常に小さい領域 ("raw_spinlock critical regions") は除きます。カーネルのスピンロックのほとんどを優先度継承をサポートするミューテックスに置き換え、全ての割り込みとソフトウェア割り込みをカーネルスレッドに移動することでこれを実現しています。
  
It further incorporates high resolution timers - a patch set, which is independently maintained.
+
さらに高精度タイマーも組み入れられています - パッチセットは別々にメンテナンスされています。
  
 
[as said from the [http://rt.wiki.kernel.org/index.php/CONFIG_PREEMPT_RT_Patch Real-Time Linux Wiki]]
 
[as said from the [http://rt.wiki.kernel.org/index.php/CONFIG_PREEMPT_RT_Patch Real-Time Linux Wiki]]
  
patch at http://www.kernel.org/pub/linux/kernel/projects/rt/
+
パッチは http://www.kernel.org/pub/linux/kernel/projects/rt/ にあります
  
 
====-bld====
 
====-bld====
{{Warning|This scheduler is in development.}}
+
{{Warning|このスケジューラは開発中です。}}
 
BLD is best described as a O(1) CPU picking technique. Which is done by reordering CPU runqueues based on runqueue loads. In other words, it keeps the scheduler aware of the load changes, which helps scheduler to keep runqueues in an order. This technique doesn't depend on scheduler ticks. The two most simple things in this technique are: load tracking and runqueue ordering; these are relatively simpler operations. Load tracking will be done whenever a load change happens on the system and based on this load change runqueue will be ordered. So, if we have an ordered runqueue from lowest to highest, then picking the less (or even busiest) runqueue is easy. Scheduler can pick the lowest runqueue without calculation and comparison at the time of placing a task in a runqueue. And while trying to distribute load at sched_exec and sched_fork our best choice is to pick the lowest busiest runqueue of the system. And in this way, system remains balanced without doing any load balancing. At the time of try_to_wake_up picking the idlest runqueue is topmost priority but it has been done as per domain basis to utilize CPU cache properly and it's an area where more concentration is requires.
 
BLD is best described as a O(1) CPU picking technique. Which is done by reordering CPU runqueues based on runqueue loads. In other words, it keeps the scheduler aware of the load changes, which helps scheduler to keep runqueues in an order. This technique doesn't depend on scheduler ticks. The two most simple things in this technique are: load tracking and runqueue ordering; these are relatively simpler operations. Load tracking will be done whenever a load change happens on the system and based on this load change runqueue will be ordered. So, if we have an ordered runqueue from lowest to highest, then picking the less (or even busiest) runqueue is easy. Scheduler can pick the lowest runqueue without calculation and comparison at the time of placing a task in a runqueue. And while trying to distribute load at sched_exec and sched_fork our best choice is to pick the lowest busiest runqueue of the system. And in this way, system remains balanced without doing any load balancing. At the time of try_to_wake_up picking the idlest runqueue is topmost priority but it has been done as per domain basis to utilize CPU cache properly and it's an area where more concentration is requires.
  
Google code Webpage: http://code.google.com/p/bld/
+
Google code ウェブページ: http://code.google.com/p/bld/
 
+
Patches are only available for 3.3-rc3, 3.4-rc4 and 3.5.0.
+
  
 
====-grsecurity====
 
====-grsecurity====
  
Grsecurity is a security focused patchset.  It adds numerous security related features such as Role-Based Access Control and utilizes features of the PaX project.  It can be used on a desktop but a public server would receive the greatest benefit. Some applications are incompatible with the additional security measures implemented by this patchset. If this occurs, consider using a lower security level.
+
[[Grsecurity]] はセキュリティに焦点を置いたパッチセットです。ロールベースアクセス制御など様々なセキュリティに関係する機能を追加し PaX プロジェクトの機能を利用します。デスクトップでも使うことはできますが公開サーバーでの利用が一番意味があるでしょう。アプリケーションによってはこのパッチセットで実装されている追加のセキュリティ対策と互換性がないことがあります。そうした問題が起こる場合は、セキュリティレベルを低くしてみて下さい。
  
The -grsecurity patches can be found at http://grsecurity.net
+
-grsecurity パッチは http://grsecurity.net から入手できます
  
 
====Tiny-Patches====
 
====Tiny-Patches====
The goal of [http://elinux.org/Linux_Tiny Linux Tiny] is to reduce its memory and disk footprint, as well as to add features to aid working on small systems. Target users are developers of embedded system and users of small or legacy machines such as 386s.
+
[http://elinux.org/Linux_Tiny Linux Tiny] の目標はメモリやディスクの使用量を減らし、小さなシステムで動作するのを助ける機能を追加することです。組み込みシステムの開発者や 386 など小さい・古いマシンのユーザーを対象にしています。
  
Patch releases against the mainstream Linux kernel have been discontinued. The developers chose to focus on a few patches and spend their time trying to get them merged into the mainline kernel.
+
メインストリームの Linux カーネルに対するパッチリリースは止まっています。開発者達は少数のパッチに力を注ぎメインラインカーネルにパッチをマージさせることに時間を割くことを選んだようです。
  
 
====-pf====
 
====-pf====
{{AUR|linux-pf}} is yet another Linux kernel fork which provides you with a handful of awesome features not merged into mainline. It is based on neither existing Linux fork nor patchset, although some unofficial ports may be used if required patches haven't been released officially.
+
{{AUR|linux-pf}} は非公式の Linux カーネルのフォークで、メインラインにマージされていないひと握りの素敵な機能を提供します。既存の Linux フォークやパッチセットには基づいていませんが、必要なパッチが公式にリリースされていない場合に非公式のポートが使われることもあります。
The most prominent patches of linux-pf are TuxOnIce, the CK patchset (most notably BFS), AUFS3, LinuxIMQ, l7 filter and BFQ.
+
linux-pf の特徴的なパッチとして TuxOnIce, CK パッチセット (特に BFS), AUFS3, LinuxIMQ, l7 フィルタ, BFQ があります。
  
 
===個々のパッチ===
 
===個々のパッチ===

Revision as of 15:08, 2 December 2013

Template:Related articles start (日本語)

  • カーネルモジュール
  • カーネルパニック
  • Linux-ck
  • sysctl
  • </ul></div>

    Wikipedia より:

    カーネルは、階層型に設計されたオペレーティングシステム (OS) の中核となる部分である。アプリケーションとハードウェアレベルでの実際のデータ処理との間の架け橋である。システムのリソースを管理し、ハードウェアとソフトウェアコンポーネントのやりとりを管理する。

    メインラインの Linux カーネルに加えて、Arch Linux では様々なカーネルを使うことができます。リポジトリから利用できるカーネルの一部と、それぞれの簡単な説明をこのページでリストアップしています。また、システムのカーネルに適用することができるパッチの説明も記述します。記事の最後にはカスタムカーネルのコンパイルの概要とリンクが付してあります。

    事前コンパイル済みカーネル

    公式パッケージ

    linux
    [core] リポジトリにある Linux カーネルとモジュール。バニラカーネル(素のカーネル)に2つのパッチが適用されています
    linux-lts
    [core] リポジトリにある長期サポート版 (Long term support, LTS) の Linux カーネルとモジュール。

    AUR パッケージ

    linux-bfsAUR
    Brain Fuck Scheduler (BFS) が含まれた Linux カーネルとモジュール - BFS は Con Kolivas によって作成された、4096コア以下のデスクトップコンピュータ向けのタスクスケジューラ。任意で使える BFQ I/O スケジューラも付属。
    linux-ckAUR
    Con Kolivas の ck1 パッチセットを適用した Linux カーネル。
    PKGBUILD 内で次の追加オプションを切り替えることができます: BFQ スケジューラ, nconfig, localmodconfig, 動作中のカーネル設定の利用。
    これらのパッチはシステムのレスポンスを改善するように作られており、特にデスクトップに向きますが、どのような使用目的でも問題なく使えます。ck パッチには BFS が含まれています。
    詳しい情報とインストールの方法については linux-ck を読んで下さい。
    linux-eee-ckAUR
    Asus Eee PC 701 向けの Linux カーネルとモジュール、Con Kolivas の ck1 パッチセットを使用。
    linux-fbcondecorAUR
    fbcondecor をサポートした Linux カーネルとモジュール。
    linux-grsecAUR
    セキュリティを高めるための Grsecurity Patchset と PaX パッチがあてられた Linux カーネルとモジュール。
    linux-mainlineAUR
    メインラインの Linux カーネルとモジュール。
    linux-paxAUR
    セキュリティを高めるための PaX パッチがあてられた Linux カーネルとモジュール。
    linux-iceAUR
    gentoo-sources パッチセットが適用され TuxOnIce をサポートした Linux カーネルとモジュール。
    linux-lqxAUR
    Liquorix はデスクトップ・マルチメディア・ゲーム用途に Debian 用の設定と ZEN カーネルソースを使ってビルドされたディストロカーネル代替です。Debian Linux ではパフォーマンス向上カーネルとしてよく使われています。Liquorix パッチセットのメンテナである Damentz は ZEN パッチセットの開発者でもあります。
    linux-pfAUR
    pf-kernel パッチ [-ck パッチセット (BFS 含む), TuxOnIce, BFQ] と aufs3 が含まれた Linux カーネルとモジュール。
    linux-zenAUR
    ZEN Kernel は毎日の利用のために最高の Linux カーネルを提供するカーネルハッカーのコラボレーションによって生まれました。このリポジトリで ZEN カーネルのビルドが得られます。
    kernel-netbookAUR
    Eee PC などの Intel Atom N270/N280/N450/N550 を使っているネットブックのための安定したカーネル。外部ハードウェア (broadcom-wlAUR) やパッチセット (BFS + TuxOnIce + BFQ optional) が追加されています - Intel GPU においてのみ動作
    linux-lts-tresorAUR
    TRESOR が統合された、安定した LTS Linux カーネルとモジュール。
    linux-gitAUR
    Linus Torvalds の git リポジトリ から得たソースを使ってビルドする Linux カーネルとモジュール。

    パッチとパッチセット

    カーネルにパッチをあてる理由は様々です。パフォーマンスを向上させたり reiser4 ファイルシステムのサポートなどメインラインに含まれていない機能を使うため、というのが大多数の理由でしょう。他の理由としては、カーネルの改善がどうやってなされるのか知ってみたいという好奇心もあるかもしれません。

    しかしながら、システムのスピードアップにベストな方法はまずカーネルをあなたのシステム、特にアーキテクチャとプロセッサーのタイプに適合させることだと気づくのは重要なことです。速度をアップさせるために、カスタムカーネルの(一般的なアーキテクチャ用の設定を使って)パッケージ済みのバージョンを使うのは推奨されませんし、あまり価値はありません。他の利点は、あなたが持っていない・使っていない物のサポートを含めないことで、カーネルのサイズ(そしてビルド時間)を減らすことができるということです。例えば、新しいカーネルバージョンがリリースされた時、私はいつもカーネルのコンフィグを皮切りに bluetooth, video4linux, 1000Mbit イーサネットといったサポート(マシンに必要ない機能)を削除します。このページではカーネルコンフィグのカスタマイズについては触れませんが、最初のステップとしてカーネルのビルドを行い、それからパッチセットを使ってみるのが推奨です。

    インストール方法

    カスタムカーネルパッケージのインストールには Arch Build System (ABS) を使います。カスタムパッケージをビルドしたことがない場合は次の記事を読んで勉強できます: Arch Build System (日本語), Creating Packages (日本語)

    あなたがカーネルにパッチをあてたりカスタマイズをしたことがないとしても、インストールはそこまで難しいものではなく、また、それぞれのパッチセットの PKGBUILD がフォーラムにはたくさんあります。ただし、すぐ近くのバンドワゴンに飛びつくのではなく、それぞれのパッチセットの効能を調べるところから始めるのを推奨します。そのほうがいきなりカーネルを選ぶよりもやるべきことについて多く学ぶことができるでしょう。

    #コンパイル を見て下さい。

    Note: 新しいカーネルを使うために、あなたのブートローダ (例: GRUB) のブートオプションを変更するのを忘れないで下さい。

    主なパッチセット

    まず初めにパッチセットは様々な人によって開発されていることに注意してください。人々の中には linux カーネルの開発に深く関わっている人もいるでしょうし、そうでないひともいるでしょう。開発者のカーネルの理解度はパッチセットの信頼性と安定性に反映されます。

    また、パッチセットによっては他のパッチセットとあわせて使うと効果がないものもあります (パッチの名前にそれが示されているかもしれません)。パッチセット(とカーネルアップデート)は非常に短い間隔でリリースされ、ほとんどの場合それを完全に追いつづける価値はありません。あまり夢中にならないようにしましょう、それを趣味にするなら話は別ですが。

    ググればもっと多くのパッチセットがあります - そのときはクォーテーションを使うのを覚えておいて下さい (例: "-nitro")。そうしないと google はあなたが望む検索結果を表示しません

    Note: This section is for information only - clearly no guarantees of stability or reliability are implied by inclusion on this page.

    -ck

    Linux-ck にはシステムのレスポンスを良くするためのパッチが含まれています。デスクトップ用途に重点が置かれていますが他の環境でも使えます。このパッチは Con Kolivas によって作成・メンテナンスされており、彼のサイトは http://users.on.net/~ckolivas/kernel/ にあります。Con はフルセットを管理していますがパッチを分けて提供もしており、使いたいものだけを追加することが可能です。

    -ck パッチは http://ck.kolivas.org/patches/3.0/ から入手できます

    -rt

    このパッチセットは Ingo Molnar 率いるコアデベロッパのグループによってメンテナンスされています。このパッチを使うことでカーネルのほとんど全てをリアルタイム実行できるようになります、ただしコードの非常に小さい領域 ("raw_spinlock critical regions") は除きます。カーネルのスピンロックのほとんどを優先度継承をサポートするミューテックスに置き換え、全ての割り込みとソフトウェア割り込みをカーネルスレッドに移動することでこれを実現しています。

    さらに高精度タイマーも組み入れられています - パッチセットは別々にメンテナンスされています。

    [as said from the Real-Time Linux Wiki]

    パッチは http://www.kernel.org/pub/linux/kernel/projects/rt/ にあります

    -bld

    Warning: このスケジューラは開発中です。

    BLD is best described as a O(1) CPU picking technique. Which is done by reordering CPU runqueues based on runqueue loads. In other words, it keeps the scheduler aware of the load changes, which helps scheduler to keep runqueues in an order. This technique doesn't depend on scheduler ticks. The two most simple things in this technique are: load tracking and runqueue ordering; these are relatively simpler operations. Load tracking will be done whenever a load change happens on the system and based on this load change runqueue will be ordered. So, if we have an ordered runqueue from lowest to highest, then picking the less (or even busiest) runqueue is easy. Scheduler can pick the lowest runqueue without calculation and comparison at the time of placing a task in a runqueue. And while trying to distribute load at sched_exec and sched_fork our best choice is to pick the lowest busiest runqueue of the system. And in this way, system remains balanced without doing any load balancing. At the time of try_to_wake_up picking the idlest runqueue is topmost priority but it has been done as per domain basis to utilize CPU cache properly and it's an area where more concentration is requires.

    Google code ウェブページ: http://code.google.com/p/bld/

    -grsecurity

    Grsecurity はセキュリティに焦点を置いたパッチセットです。ロールベースアクセス制御など様々なセキュリティに関係する機能を追加し PaX プロジェクトの機能を利用します。デスクトップでも使うことはできますが公開サーバーでの利用が一番意味があるでしょう。アプリケーションによってはこのパッチセットで実装されている追加のセキュリティ対策と互換性がないことがあります。そうした問題が起こる場合は、セキュリティレベルを低くしてみて下さい。

    -grsecurity パッチは http://grsecurity.net から入手できます

    Tiny-Patches

    Linux Tiny の目標はメモリやディスクの使用量を減らし、小さなシステムで動作するのを助ける機能を追加することです。組み込みシステムの開発者や 386 など小さい・古いマシンのユーザーを対象にしています。

    メインストリームの Linux カーネルに対するパッチリリースは止まっています。開発者達は少数のパッチに力を注ぎメインラインカーネルにパッチをマージさせることに時間を割くことを選んだようです。

    -pf

    linux-pfAUR は非公式の Linux カーネルのフォークで、メインラインにマージされていないひと握りの素敵な機能を提供します。既存の Linux フォークやパッチセットには基づいていませんが、必要なパッチが公式にリリースされていない場合に非公式のポートが使われることもあります。 linux-pf の特徴的なパッチとして TuxOnIce, CK パッチセット (特に BFS), AUFS3, LinuxIMQ, l7 フィルタ, BFQ があります。

    個々のパッチ

    These are patches which can be simply included in any build of a vanilla kernel or incorporated (probably with some major tweaking) into another patchset. I have included some common ones for starters.

    Reiser4

    Reiser4

    Gensplash/fbsplash

    Gensplash - http://dev.gentoo.org/~spock/projects/

    コンパイル

    Arch Linux ではカーネルコンパイルに複数の方法があります。

    Arch Build System を使う

    Arch Build System の利用には既存の linuxPKGBUILDパッケージ管理システムを使えるというアドバンテージがあります。PKGBUILD があるので、ソースがダウンロードされた後、ビルドを止めてカーネルを設定することができます。

    Kernels/Compilation/Arch Build System (日本語) を見て下さい。

    伝統的な方法

    手動でソース tarball をダウンロードし、標準ユーザーとして home ディレクトリでビルドを行います。設定を行った後、コンパイル・インストールする方法は2つあります; 伝統的に手動で行うか makepkg + pacman を使うかです。

    伝統的な方法のメリットは、他の Linux ディストリビューションでもカーネルを動作させることができることです。

    Kernels/Compilation/Traditional を見て下さい。

    プロプライエタリの NVIDIA ドライバ

    カスタムカーネルと一緒にプロプライエタリの NVIDIA ドライバを使う方法は NVIDIA#Alternate install: custom kernel を見て下さい。

    参照