Handbook:Parts/Installation/Kernel/Dist-Kernel

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Handbook:Parts/Installation/Kernel/Dist-Kernel and the translation is 100% complete.

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

ディストリビューションカーネルは、カーネルを展開、構成設定、コンパイル、インストールする完全なプロセスをカバーする ebuild です。この手法を利用する最大の利点は、@world アップグレードの一部として、パッケージマネージャによってカーネルが新しいバージョンに更新されることです。これは emerge コマンドを実行する以外にユーザの関与を必要としません。ディストリビューションカーネルはデフォルトでは、大部分のハードウェアをサポートするように構成されますが、カスタマイズするための 2 つの機構が提供されています: savedconfig とコンフィグスニペットです。設定についてのさらなる詳細はプロジェクトページを参照してください。

正しい installkernel パッケージをインストールする

ディストリビューションカーネルを利用する前に、システムにとって正しい installkernel パッケージがインストールされていることを確認してください。ブートローダとして systemd-boot (旧 gummiboot) を使用している場合は、次をインストールしてください:

root #emerge --ask sys-kernel/installkernel-systemd-boot

伝統的な /boot レイアウト(例: GRUB、LILO 等)を使用している場合は、gentoo 変種がデフォルトでインストールされているはずです。疑わしい場合は:

root #emerge --ask sys-kernel/installkernel-gentoo

ディストリビューションカーネルをインストールする

Gentoo パッチが当てられたカーネルをソースからビルドするには、次をタイプしてください:

root #emerge --ask sys-kernel/gentoo-kernel

システムの管理者として、カーネルのソースをローカルでコンパイルするのを避けたい場合は、代わりにコンパイル済みのカーネルイメージを使用することができます:

root #emerge --ask sys-kernel/gentoo-kernel-bin

アップグレードと後処理

一度カーネルがインストールされたら、パッケージマネージャが自動的にカーネルを新しいバージョンに更新するでしょう。古いバージョンは、パッケージマネージャに古いパッケージを片付けるように指示するまで残ります。ディスク容量を再利用するためには、定期的に --depclean オプション付きで emerge を実行することで、古いパッケージを片付けることができます:

root #emerge --depclean

あるいは、古いカーネルのバージョンだけを片付けるには:

root #emerge --prune sys-kernel/gentoo-kernel sys-kernel/gentoo-kernel-bin

インストール/アップグレード後タスク

ディストリビューションカーネルは、他のパッケージによってインストールされるカーネルモジュールの再ビルドに対応しています。linux-mod.eclassdist-kernel USE フラグを提供し、これは virtual/dist-kernel に対するサブスロット依存関係を制御します。

sys-fs/zfssys-fs/zfs-kmod などのパッケージでこの USE フラグを有効化すると、パッケージが新しく更新されたカーネルに対して自動的に再ビルドされ、適用可能であれば、それに従って initramfs を再生成します。

手動で initramfs を再ビルドする

必要であれば、カーネルアップグレード後に、以下を実行して手動で再ビルドを実行してください:

root #emerge --ask @module-rebuild

カーネルモジュール (ZFS 等) のうちいずれかが初期ブートで必要であれば、続けて次を利用して initramfs を再ビルドしてください:

root #emerge --config sys-kernel/gentoo-kernel
root #emerge --config sys-kernel/gentoo-kernel-bin