カーネル

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Kernel and the translation is 98% complete.

カーネルは、オペレーティングシステムの中核です。ほとんどのデバイスドライバを含んでいるため、プログラムがメモリやグラフィックカード、ブロックデバイスのようなシステムハードウェアにアクセスするインタフェースを提供しています。

Gentoo は過去には異なるカーネルを提供していましたが、現在は Linux カーネルだけがサポートされています。

関連
カーネルのインストールとセットアップについては、ハンドブックも参照してください。

どのカーネルをインストールするか?

Gentoo はカーネルを機能させるために、多くのディストリビューションが提供するのと同じような標準的なバイナリカーネルから、カスタム設定してコンパイルされるカーネルまで、やり方の選択肢を提供しています。

ヒント
最初は、gentoo-kernel-bin がカーネルを機能させるための手っ取り早く簡単な方法を提供しつつ、軽量で高パフォーマンスなカーネルも提供します (他の現代的なディストリビューションがそうであるように)。システムのインストールが完了して正しく機能していれば、必要に応じて他のカーネルを選択することもできます。カスタムカーネルをブートしていて問題が発生した場合のために、sys-kernel/gentoo-kernel-bin は取っておくことができます。

gentoo-sources

カーネルソースを手動でコンパイルするとき、または Genkernel を使用して一部のプロセスを自動化するときには、Gentoo はほとんどのユーザに対し sys-kernel/gentoo-sources パッケージを推奨します。このパッケージの安定版は kernel.org 上流の long term stable (LTS) カーネルに追従しています。

ディストリビューションカーネル

ディストリビューションカーネルプロジェクトは、Portage を通じてカーネルをインストールおよび管理するためのパッケージを提供しています。これらのカーネルは emerge コマンドによって、(必要であれば) コンパイルして、インストールされるため、管理作業の負担を軽減することができます。カーネル更新はシステムを更新 (emerge -avuDN @world) するときに実行され、唯一の手動の操作は、ブートローダが新しいカーネルを利用するように設定することだけです。

これらのカーネルには、多くのシステムで「動作する」であろうデフォルト設定が付いています。自身のカーネルを最初から設定することに興味のないユーザは、これらのカーネルを使用することで、より手っ取り早く物事を始めることができます:

gentoo-kernel

sys-kernel/gentoo-kernel パッケージは、emerge されたときにコンパイルしてインストールされるカーネルを提供します。これには、多くのシステムですぐに動作するデフォルトの設定が付いていますが、望むのであればカスタマイズすることもできます。

gentoo-kernel-bin

sys-kernel/gentoo-kernel-bin はコンパイル済みのカーネルを含むバイナリパッケージで、より早くインストールできます。このパッケージは、gentoo-kernel パッケージをデフォルト設定で事前にコンパイルしたバージョンです。

重要
gentoo-kernel* パッケージは、カーネルをコンパイルしてインストールする通常の手動での方法から独立して、設定とコンパイルのプロセスを自動化します。そのためこの記事の以降の部分では、sys-kernel/gentoo-sources パッケージを使用したインストールを扱います。ディストリビューションカーネルについてのさらなる情報に関しては、ディストリビューションカーネルプロジェクトを参照してください。

カーネルソースコードをインストールする

カーネルを得るには、まずはカーネルのソースコードをインストールする必要があります。デスクトップシステム向けでお奨めのカーネルソースは sys-kernel/gentoo-sources です。Gentoo 開発者たちが必要であればパッチを当てて維持しており、セキュリティや機能上の問題の修正を行うとともに、特殊なシステムアーキテクチャとの互換性が高められています。

USE フラグ

USE flags for sys-kernel/gentoo-sources Full sources including the Gentoo patchset for the 6.12 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

その他のカーネル

Portage ツリーには他にも多くのカーネルパッケージが存在しています。これらの多くの詳細については、カーネルソースの概要の記事を確認してください。開発者 Greg Kroah-Hartman の記事 What Stable Kernel Should I Use? には、カーネルの選択に関するさらなる有用な情報があります。

すべてのカーネルパッケージを検索する

すべてのカーネルソースとその簡単な説明を一覧するには emerge を実行してください:

root #emerge --search sources

カーネルを管理する

設定

自動設定
カーネルと initramfs の作成を自動化するツールが genkernel です。カーネルの作成に臨むシステム管理者を手助けしてくれます。
手動設定を理解する
手動設定の概念をより幅広く理解できるようになるガイドです。
手動設定を適用する
作業を行うために必要なツールと手順を解説するガイド。
Deblobbing
A guide to deblobbing the kernel
Security
カーネルをハードニングするための手順。
モジュール
モジュールは、カーネルを拡張するためのコードを含むオブジェクトファイルです。
最適化
カーネルのためのさまざまな最適化についての記載。
コマンドライン引数
トラブルシューティングのためにカーネルに対してブート時に渡すことができる、よく使われる一部のコマンドライン引数の説明。

アップグレード

カーネルアップグレード
既存のコンフィギュレーションを流用してカーネルを更新する手順。

削除

カーネル削除
古いカーネルを完全に削除するための手順。

トラブルシューティング

カーネル設定サポート

IKCONFIG サポートのサブ記事を参照してください。

カーネルコマンドラインパラメータ

ブートローダから起動する際、Linux カーネルは振る舞いを変更するためにコマンドラインパラメータを受け取ることができます。これによって例えば、ロードされるべきでない特定のモジュールをブラックリストに登録することで、カーネル起動時のトラブルシューティングを行いやすくすることができます。さらなる詳細については Gentoo の Kernel/Command-line parameters の記事を参照してください。

Kernel.org の admin guide には、きちんと整形された利用可能なカーネルのコマンドラインパラメータの一覧があります。

関連項目

  • fwupd — a daemon that provides a safe, reliable way of applying firmware updates on Linux.
  • Linux firmware — 特定のハードウェアデバイスの一部または全体を機能させるために必要なファームウェアバイナリブロブを含み、Linux カーネルとまとめて頒布されているパッケージです。
  • Project:Distribution Kernel — aims to maintain sys-kernel/*-kernel packages.
  • The kernel category - カーネルに関する記事のすべて。
  • The hardware category - カーネル設定に関連するハードウェアスタックの一覧。

外部資料

参照