Gentoo LinuxのLinuxカーネルの更新

サーバ
2020年02月13日 10:00

概要

Gentoo LinuxではLinuxカーネルを自分でビルドして使います。

ここでは、Gentoo LinuxでのLinuxカーネルの更新方法について説明します。

環境

  • Gentoo Linux
  • Linux Kernel 4.19.86

バックアップ

カーネルを更新する前に、既存の設定のバックアップを取っておきましょう。
バックアップは次のコマンドで取ることができます。

cp /usr/src/linux/.config ~/kernel-config-`uname -r`

Linuxカーネルのソースコードの取得

Linuxカーネルのソースコードはsys-kernel/gentoo-sourcesパッケージで管理されています。
そのため、emergeコマンド等でパッケージを更新すると、自動的にカーネルのソースコードが手に入ります。

現在、どのようなカーネルのソースコードを持っているかは次のコマンドで確認できます。

eselect kernel list

実行すると、現在実行しているカーネルや他の新しいカーネルの情報が表示されます。
アスタリスク*がついているものが現在実行しているカーネルで、それ以外のものが新しいカーネルなどの情報です

新しいカーネルがある場合、次のコマンドで/usr/src/linuxディレクトリ以下のソースコードを新しいものに切り替えます。

eselect kernel set 2

2という数字は、カーネルの一覧表示で表示されていた番号を指定します。今回は2が新しいカーネルの番号として表示されたので、このようにしています。

カーネルのビルドとインストール

次に、設定のコピーをします。設定をコピーすることで、カーネルを更新する際に、改めて設定をし直す手間を減らします。

cp /boot/config-4.19.86-gentoo /usr/src/linux/.config

config-4.19.86-gentooの部分は、現在動いているカーネルのバージョンのもので置き換えてください。

もしかすると、新しいカーネルの設定をしなければいけないかもしれません。
そこで、/usr/src/linuxディレクトリに移動して、次のコマンドを実行して、新しいカーネルに合わせて設定を更新します。

cd /usr/src/linux
make syncconfig

あとは、カーネルのビルドをしてインストールをします。

make modules_prepare
make && make modules_install
make install

これで、カーネルのインストールは終了です。

ブートローダの設定

まだ、ブートローダの設定が終わっていません。ブートローダを設定しないと、新しいカーネルでGentoo Linuxが起動しないので、ブートローダの設定をします。

ここでは、GRUBの設定方法について紹介します。他のブートローダを使っている場合は、適宜読み替えてください。

GRUBの場合、次のコマンドでブートローダの設定が更新されます。

grub-mkconfig -o /boot/grub/grub.cfg

これで、カーネルの更新は終わりです。
再起動時に、新しいカーネルで起動できるか確認しましょう。

さいごに

公式wikiでは、詳しく書かれているのですが、正直読みにくいです。

そこで、今回私がカーネルの更新をした際の方法について書きました。

参考になれば幸いです。