カーネル
Linux カーネルは、オペレーティングシステムの中核です。ほとんどのデバイスドライバを含んでいるため、プログラムがメモリやグラフィックカード、ブロックデバイスのようなシステムハードウェアにアクセスするインタフェースを提供しています。
この記事ではもっぱら Linux カーネルについて解説します。
インストール
どのカーネルをインストールするか?
Gentoo はほとんどのユーザに対し sys-kernel/gentoo-sources を推奨します。このパッケージの安定版は kernel.org 上流の long term stable (LTS) カーネルに追従しています。
USE フラグ
カーネルを作成するには、まずはカーネルのソースコードをインストールする必要があります。デスクトップシステム向けでお奨めのカーネルソースは sys-kernel/gentoo-sources です。Gentoo 開発者たちがパッチを当てて維持しており、セキュリティや機能上の問題の修正を行うとともに、特殊なシステムアーキテクチャとの互換性が高められています。
USE flags for sys-kernel/gentoo-sources Full sources including the Gentoo patchset for the 6.1 kernel tree
build
|
!!internal use only!! DO NOT SET THIS FLAG YOURSELF!, used for creating build images and the first half of bootstrapping [make stage1] |
experimental
|
Apply experimental patches; for more information, see "https://wiki.gentoo.org/wiki/Project:Kernel/Experimental". |
symlink
|
Force kernel ebuilds to automatically update the /usr/src/linux symlink |
Emerge
さあ、sys-kernel/gentoo-sources をインストールしましょう:
root #
emerge --ask sys-kernel/gentoo-sources
その他のカーネル
Gentoo が提供する安定カーネルは sys-kernel/gentoo-sources のみですが、Portage ツリーには他にも多くのカーネルパッケージが存在しています。Kernel/概要の記事を確認してください。カーネルパッケージのほとんどについての詳細が記述されています。
どれを選ぶべきかについては、主要なカーネル開発者の Greg Kroah-Hartman によるブログ記事 What Stable Kernel Should I Use? も参考にしてください。
すべてのカーネルパッケージを検索する
すべてのカーネルソースとその簡単な説明を一覧するには emerge を実行してください:
root #
emerge --search "%@^sys-kernel/.*sources"
利用可能な記事
設定
- Automatic configuration
- カーネルと initramfs の作成を自動化するツールが genkernel です。カーネルの作成に臨むユーザーを全面的に手助けすることを目標として設計されています。
- マニュアルコンフィグレーション
- マニュアルコンフィグレーションをすれば、いくらかの努力も必要ではありますが、最適にカスタマイズしたカーネル設定の利用ができます。
- Gentoo カーネルコンフィグレーションガイド
- Gentoo のカーネルコンフィグレーションガイド
- Kernel security
- カーネルをセキュアにするための手順。
- Kernel Seeds
- 上記の選択肢と同様に、既存の .config を基にして、最適なコンフィギュレーションを目指すユーザーを支援します。
アップグレード
- アップグレード
- 既存のコンフィグレーションを流用してカーネルを更新する手順。
- 2.4 から 2.6 への移行
- Linux 2.4 から Linux 2.6 へと移行するためのガイド。現行の Linux カーネルのコードは 2.6 時代から大きく変化しているため、この移行手順は意味を失っています。理解の一助としては役立てられるかもしれません。
削除
- 削除
- 古いカーネルを完全に削除するための手順。
トラブルシューティング
In-kernel 設定サポート
IKCONFIG サポートの副記事を参照してください。
カーネルコマンドラインパラメータ
ブートローダから起動する際、Linuxカーネルは振る舞いを変更するためにコマンドラインパラメータを受け取ることができます。これによって、ロードされるべきでない特定のモジュールをブラックリストに登録することで、カーネル起動時のトラブルシューティングを行いやすくすることができます。
Kernel.orgには、閲覧用にきちんと整形された利用可能なカーネルのコマンドラインパラメータの一覧があります。
特に、以下のコマンドラインパラメータはGentooを起動する際に便利かもしれません:
earlyprintk=
module_blacklist=
nomodule
loglevel=
rootdelay=
参考
- Linux firmware — is a package distributed alongside the Linux kernel that contains firmware binary blobs necessary for partial or full functionality of certain hardware devices.
- LVFS — a daemon that provides a safe, reliable way of applying firmware updates on Linux.
- Kernel/IKCONFIG support — Enabling In-kernel Config (IKCONFIG) support for the Linux kernel enables the inspection of kernel configuration for running kernels.
- The kernel category - カーネルに関する記事のすべて。
- The hardware category - カーネル設定に関連するハードウェアスタックの一覧
外部の情報
- planet.kernel.org/ - Linux カーネル関連のブログ集。
- kernelnewbies.org/ - 「研鑽を続ける新米カーネル開発者と、知識の共有を惜しまないベテラン開発者のためのコミュニティ」
- kernel.org/doc/ - Linux カーネルのための公式の包括的なドキュメンテーション
- What Stable Kernel Should I Use?, Greg Kroah-Hartman による。
- Building the kernel as root can be harmful