0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

dnfで最新カーネルとモジュールの導入

Last updated at Posted at 2025-05-26

ELRepoを使った最新カーネルとモジュールの導入手順(RHEL/CentOS 9系)

CentOS Stream 9 や RHEL 9 系で、ELRepo を利用して最新のカーネル(kernel-ml など)を導入し、必要なカーネルモジュールを設定する手順を解説します。

現在のカーネル確認

uname -r

ELRepo リポジトリの追加

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
dnf install -y https://www.elrepo.org/elrepo-release-9.el9.elrepo.noarch.rpm

ELRepo の状態確認と有効化

dnf repolist all | grep elrepo-kernel
dnf config-manager --set-enabled elrepo-kernel

カーネルのインストール

dnf でカーネルをインストールすると、そのカーネル用の initramfs(初期RAMディスク)が自動的に生成されます。(後述)

◆kernel-lt(長期サポート版)をインストールしたい場合:

dnf install kernel-lt

◆kernel-ml(最新の安定版)をインストールしたい場合:

dnf install kernel-ml

インストール済みカーネルの確認

rpm -qa | grep kernel

デフォルトカーネルの設定

◆デフォルトの確認:

grubby --default-kernel

◆インストール済みのカーネル一覧:

grubby --info=ALL

◆デフォルトカーネルの変更:

■対象カーネルの確認

ls -ld /boot/vmlinuz*

■デフォルトカーネルを変更

grubby --set-default /boot/vmlinuz-6.13.2-1.el9.elrepo.x86_64

再起動&確認

reboot
uname -r

カーネルモジュールのインストール

参考:カーネルモジュールとは
https://qiita.com/miyuki_samitani/items/941e911f9aaa1321e1f2

◆利用可能なモジュールを確認:

kernel-ml(最新の安定版)をインストールする場合
kernel-mlで使える追加モジュールや関連パッケージを表示

dnf list available kernel-ml*

◆インストール:

例:

dnf install -y kernel-ml-modules kernel-ml-modules-extra

◆確認:

rpm -qa | grep -E "kernel-ml-.*"

モジュール情報の更新と確認

◆モジュールファイルの確認と展開

find /lib/modules/$(uname -r) -type f -name "*.ko*"
cd /lib/modules/$(uname -r)/kernel/
find . -name "*.ko.xz" -exec unxz {} \;

◆モジュールの依存関係データベース(modules.dep)を生成・更新

モジュールを新たに追加・削除した後、依存モジュールを自動で読み込むために必要な情報を更新します。

depmod

モジュールのロード

◆対象モジュールの存在確認

※例として"bcma"

grep bcma /lib/modules/$(uname -r)/modules.dep

■モジュールの手動ロード

modprobe -v bcma

■モジュールの自動ロード設定

【/etc/modules-load.d/*.conf】
Linuxでは、/etc/modules-load.d/ にある .conf ファイルに書かれたモジュール名が、ブート時に自動で modprobe される仕組みです。
つまり、PCを再起動しても、bcma モジュールが自動でロードされるようになります。

echo "bcma" | tee /etc/modules-load.d/bcma.conf

モジュールの確認

lsmod | grep bcma

カーネルモジュールの情報を表示

modinfo bcma

initramfs の再生成(必要時)

dnf でカーネルをインストールすると、そのカーネル用の initramfs(初期RAMディスク)が自動的に生成される。

現在使用中のinitramfs
ls -l /boot/initramfs-$(uname -r).img

◆ initramfs生成コマンド

すべてのカーネルの initramfs(初期 RAM ディスク)を強制的に再生成する。
これにより、カーネルやモジュールに関わる変更があった後、すべてのカーネルについて安全に起動できるように初期環境を更新する。

dracut --force --regenerate-all
オプション 意味
--force 既存の initramfs を上書きする
--regenerate-all システムにインストールされている すべてのカーネル に対して initramfs を作り直す

■補足

【initramfs】
Linux の起動時、ハードディスクをマウントする前に使われる「初期環境」。
initramfs には、必要なカーネルモジュール(例:ファイルシステムドライバ、ストレージドライバなど)が入っている。

再起動

reboot

おまけ

以上で、ELRepo を使ったカーネルおよびモジュールのインストール・設定は完了です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?