カーネル
Wikipedia より:
- カーネルは、階層型に設計されたオペレーティングシステム (OS) の中核となる部分である。アプリケーションとハードウェアレベルでの実際のデータ処理との間の架け橋である。システムのリソースを管理し、ハードウェアとソフトウェアコンポーネントのやりとりを管理する。
メインラインの Linux カーネルに加えて、Arch Linux では様々なカーネルを使うことができます。リポジトリから利用できるカーネルの一部と、それぞれの簡単な説明をこのページでリストアップしています。また、システムのカーネルに適用することができるパッチの説明も記述します。記事の最後にはカスタムカーネルのコンパイルの概要とリンクが付してあります。
公式サポートカーネル
公式にサポートされているカーネルについては、フォーラムでのコミュニティサポートとバグレポートを利用できます。
- linux
- [core] リポジトリにある Linux カーネルとモジュール。バニラカーネル(素のカーネル)に多少のパッチが適用されています。
- linux-hardened
- カーネルやユーザースペースに対する脆弱性攻撃から防護する ハードニングパッチセット が適用されたセキュリティ指向 Linux カーネル。ユーザー名前空間 (非特権による使用はパッチで無効化済み) や audit、あるいは SELinux など標準の linux には含まれていないカーネルの堅牢化機能も有効になっています。
- linux-lts
- [core] リポジトリにある長期サポート版 (Long term support, LTS) の Linux カーネルとモジュール。
- linux-zen
- ZEN Kernel はカーネルハッカーたちの知恵の結晶です。日常的な利用にうってつけの最高の Linux カーネルになります。詳しい情報は https://liquorix.net を見てください (Debian 向けの ZEN ベースのカーネルバイナリ)。
コンパイル
次の方法を使って、独自のカーネルをコンパイルできます。
- Arch Build System
- 既存の linux PKGBUILD の高品質とパッケージ管理の利点を利用していす。
- 伝統的な方法
- 手動でソースの tarball をダウンロードし、ホームディレクトリで通常のユーザーとしてコンパイルする必要があります。
リストにあるパッケージの中には、非公式ユーザーリポジトリからバイナリパッケージを入手できるものもあります。
kernel.org カーネル
- linux-gitAUR
- Linus Torvalds の git リポジトリ から得たソースを使ってビルドする Linux カーネルとモジュール。
- linux-mainlineAUR
- メインラインの Linux カーネルとモジュール。
- linux-next-gitAUR
- Next —次のメインラインリリースにマージされる予定の機能を備えた最先端のカーネル。
- linux-lts44AUR
- Longterm 4.4 長期サポート版カーネルとモジュール。
- linux-lts49AUR
- Longterm 4.9 長期サポート版カーネルとモジュール。
- linux-lts414AUR
- Longterm 4.14 長期サポート版カーネルとモジュール。
- linux-lts419AUR
- Longterm 4.19 長期サポート版カーネルとモジュール。
- linux-lts54AUR
- Longterm 5.4 長期サポート版カーネルとモジュール。
非公式カーネル
- linux-aufsAUR
- aufs 対応の linux カーネルとモジュール。Docker を使用する際に有用。
- linux-ckAUR
- Con Kolivas の ck1 パッチセットを適用した Linux カーネル。
- PKGBUILD 内で次の追加オプションを切り替えることができます: BFQ スケジューラ, nconfig, localmodconfig, 動作中のカーネル設定の利用。
- これらのパッチはシステムのレスポンスを改善するように作られており、特にデスクトップに向きますが、どのような使用目的でも問題なく使えます。ck パッチには BFS が含まれています。
- 詳しい情報とインストールの方法については linux-ck を読んで下さい。
- linux-clearAUR
- IntelのClear Linuxプロジェクトからのパッチ。パフォーマンスとセキュリティの最適化を提供します。: https://github.com/clearlinux-pkgs/linux
- linux-libreAUR
- "バイナリブロブ"が取り除かれた Linux カーネル。
- linux-lqxAUR
- Liquorix はデスクトップ・マルチメディア・ゲーム用途に Debian 用の設定と ZEN カーネルソースを使ってビルドされたディストロカーネル代替です。Debian Linux ではパフォーマンス向上カーネルとしてよく使われています。Liquorix パッチセットのメンテナである Damentz は ZEN パッチセットの開発者でもあります。
- linux-mptcpAUR
- Multipath TCP に対応する Linux カーネルとモジュール。
- linux-pfAUR
- pf-kernel パッチ [-ck パッチセット (BFS 含む), TuxOnIce, BFQ] と aufs3 が含まれた Linux カーネルとモジュール。
- linux-rtAUR
- リアルタイムパッチセットがあてられた Linux カーネル。遅延を減らしてハードリアルタイムが可能になります: https://rt.wiki.kernel.org/
- linux-vfioAUR / linux-vfio-ltsAUR
- Alex Williamson によって書かれた KVM で PCI パススルーを出来るようにするパッチが適用された Linux カーネル (acs override と i915)。
- linux-xanmodAUR / linux-xanmod-ltsAUR
- 高性能ワークステーション、ゲームデスクトップ、メディアセンターなど、性能を最大限活用し、強固で応答性が高く、スムーズなデスクトップエクスペリエンスを提供するように構築されています。このカーネルは、BFS スケジューラ、BFQ I/O スケジューラ、UKSM リアルタイムメモリデータの重複排除、YeAH TCP 輻輳制御、x86_64 高度な命令セットサポート、およびその他のデフォルトの変更を使用します。: https://xanmod.org/
Debugging regressions
See General troubleshooting#Debugging regressions.
Try linux-mainlineAUR to check if the issue is already fixed upstream. The stickied comment also mentions a repository which contains already built kernels, so it may not be necessary to build it manually, which can take some time.
It may also be worth considering trying the LTS kernel (linux-lts) to debug issues which did not appear recently. Older versions of the LTS kernel can be found in the Arch Linux Archive.
If the issue still persists, bisect linux-gitAUR and report the bug on the kernel bugzilla. It is important to try the "vanilla" version without any patches to make sure it is not related to them. If a patch causes the issue, report it to the author of the patch.
参照
- O'Reilly - Linux Kernel in a Nutshell (フリーの電子書籍)
- What stable kernel should I use? by Greg Kroah-Hartman
- Linux kernel documentation