カーネル

提供: ArchWiki
2022年1月28日 (金) 05:57時点におけるKgx (トーク | 投稿記録)による版 (→‎Debugging regressions: 翻訳)
ナビゲーションに移動 検索に移動

関連記事

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 をダウンロードし、ホームディレクトリで通常のユーザーとしてコンパイルする必要があります。
警告:
  • カスタムカーネルを使用すると、データの損失など、あらゆる種類の安定性と信頼性の問題が発生する可能性があります。バックアップ をとることを強くお勧めします。
  • Arch Linux は #公式サポートカーネルのみを公式にサポートしています。別のカーネルを使用する場合は、サポートリクエストにその旨を記載してください。
ヒント:
  • システムの速度を上げる最良の方法は、まず、カーネルの設定をアーキテクチャやプロセッサの種類に合わせることです。
  • 自分が持っていないもの、使っていないもののサポートを含まないようにすることで、カーネルのサイズ(つまりビルド時間)を小さくすることができます。例えば、 bluetooth、video4linux、1000Mbit イーサネットなどのサポートです。
Arch のカーネルパッケージの設定ファイルは Arch のパッケージのソースファイルに含まれています。例えば linux のは [1] にリンクがあります。今現在動かしているカーネルのコンフィグファイルはファイルシステムの /proc/config.gz に存在します (カーネルオプションの CONFIG_IKCONFIG_PROC が有効になっている場合)。

リストにあるパッケージの中には、非公式ユーザーリポジトリからバイナリパッケージを入手できるものもあります。

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 長期サポート版カーネルとモジュール。

非公式カーネル

  • Aufs — aufs 対応の linux カーネルとモジュール。Docker を使用する際に有用。
http://aufs.sourceforge.net/ || linux-aufsAUR
  • Ck — デスクトップに特に重点を置いてシステムの応答性を向上させるように設計された Con Kolivas (MuQSS scheduler を含む) によるパッチが含まれていますが、どのような使用目的でも問題なく使えます
http://ck.kolivas.org/ || linux-ckAUR
  • GalliumOS — The Linux kernel and modules with GalliumOS patches for Chromebooks.
https://github.com/GalliumOS/linux || linux-galliumosAUR
https://www.fsfla.org/ikiwiki/selibre/linux-libre/ || linux-libreAUR
  • Liquorix — Kernel replacement built using Debian-targeted configuration and the Zen kernel sources. Designed for desktop, multimedia, and gaming workloads, it is often used as a Debian Linux performance replacement kernel. Damentz, the maintainer of the Liquorix patchset, is a developer for the Zen patchset as well.
https://liquorix.net || linux-lqxAUR
linux-clearAUR
IntelのClear Linuxプロジェクトからのパッチ。パフォーマンスとセキュリティの最適化を提供します。: https://github.com/clearlinux-pkgs/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/

リグレッション デバッグ

一般的なトラブルシューティング#リグレッション デバッグ を参照してください。

linux-mainlineAUR を試して、その問題が既に上流で修正されているかどうかを確認してください。stickied コメントは既にビルドされたカーネルを含むリポジトリにも言及しているので、時間がかかる手動でのビルドは必要ないかもしれません。

最近発生しなかった問題をデバッグするために LTS カーネル (linux-lts) を試してみることも検討する価値があるかもしれません。LTS カーネルの古いバージョンは Arch Linux Archive で見つけることができます。

それでも問題が解決しないときは、bisect をしてください。linux-gitAURkernel bugzilla でバグを報告してください。パッチと関係ないことを確認するために、パッチなしの バニラ バージョンを試すことが重要です。もしパッチが問題を引き起こすなら、そのパッチの作者に報告してください。

ノート: Bisecting the kernel は何度も作り直さなければならないので、かなりの時間がかかるかもしれません。

参照