What's?
Rocky Linuxにカーネルモジュールを追加しようとしていて、ELRepoというものを知ったのでメモしておくことにしました。
ELRepo?
ELRepoはEnterprise Linux Repositoryの略です。
ELRepo stands for Enterprise Linux Repository or, in Spanish, “The Repo”.
Enterprise Linuxのエクスペリエンスを向上させるための、ハードウェア関連のパッケージが含まれるリポジトリです。
ドライバやファイルシステムなどですね。
The ELRepo Project focuses on hardware related packages to enhance your experience with Enterprise Linux. This includes SCSI/SATA/PATA drivers, filesystem drivers, graphics drivers, network drivers, sound drivers and video drivers.
ELRepoに含まれるパッケージはRHELカーネルに対して再構築されており、RHELカーネルとの互換性を維持するリビルドディストリビューションと互換性があるとされています。
All our packages are built against the RHEL kernel and are compatible with rebuild distributions who maintain compatibility with the RHEL kernel.
つまり、CentOS StreamやカーネルのABI互換性を損なうことが知られているリビルドディストリビューションでは利用できません。
ELRepo packages are not compatible with the CentOS Stream kernel or rebuild distributions known to break kernel ABI compatibility.
ELRepoは基本的には新しいハードウェアなどを導入した時に動作しない(検出しない)場合などに使うもので、そうでない場合は使う必要のないものとされています。
If your hardware works out of the box then you have no need to use ELRepo.
ELRepoはRocky LinuxやAlmaLinuxのWikiでもコミュニティの承認を受けたリポジトリとして紹介されています。
Rocky Linux Repositories / Community Approved Repositories
もっとも、利用自体は自己責任ではあると思いますが。
ELRepoを使ってRocky Linux 9のカーネルのバージョンを上げてみる
今回は、ELRepoを使ってRocky Linux 9のカーネルのバージョンを上げてみようと思います。
まず現在のバージョンを確認します。
$ cat /etc/redhat-release
Rocky Linux release 9.5 (Blue Onyx)
$ uname -srvmpio
Linux 5.14.0-503.33.1.el9_5.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Mar 19 16:23:31 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Rocky Linux 9.5、カーネルのバージョンは5.14.0です。
ここから、ELRepoを使って新しいバージョンのカーネルを導入してみたいと思います。
ELRepoをインストールする
ELRepoをインストールするわけですが、方法はELRepoのトップページに書かれています。
公開鍵のインポート。
$ sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
$ sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-v2-elrepo.org
ELRepoのインストール。
$ sudo dnf install https://www.elrepo.org/elrepo-release-9.el9.elrepo.noarch.rpm
ELRepoに含まれるパッケージの一覧はこちら。
$ dnf --disablerepo '*' --enablerepo 'elrepo*' list available
メタデータの期限切れの最終確認: 0:00:21 前の 2025年03月21日 23時45分54秒 に実施しました。
利用可能なパッケージ
bpftool.x86_64 6.13.7-1.el9.elrepo elrepo-kernel
cxgb3-firmware.noarch 1.1.5-20200721.1.el9.elrepo elrepo
drbd84-utils.x86_64 9.22.0-1.el9.elrepo elrepo
drbd9x-utils.x86_64 9.30.0-2.el9.elrepo elrepo
drbd9x-utils-sysvinit.x86_64 9.30.0-2.el9.elrepo elrepo
ecryptfs-utils.x86_64 111-21.1.el9.elrepo elrepo
ecryptfs-utils-devel.x86_64 111-21.1.el9.elrepo elrepo
hfsplus-tools.x86_64 540.1.linux3-18.el9.elrepo elrepo
hfsutils.x86_64 3.2.6-35.el9.elrepo elrepo
hfsutils-devel.x86_64 3.2.6-35.el9.elrepo elrepo
hfsutils-x11.x86_64 3.2.6-35.el9.elrepo elrepo
ib_mthca-ibverbs.x86_64 48.0-2.el9.elrepo elrepo
ib_qib-ibverbs.x86_64 48.0-2.el9.elrepo elrepo
jfsutils.x86_64 1.1.15-21.el9.elrepo elrepo
kernel-lt.x86_64 6.1.131-1.el9.elrepo elrepo-kernel
kernel-lt-core.x86_64 6.1.131-1.el9.elrepo elrepo-kernel
kernel-lt-devel.x86_64 6.1.131-1.el9.elrepo elrepo-kernel
kernel-lt-devel-matched.x86_64 6.1.131-1.el9.elrepo elrepo-kernel
kernel-lt-doc.noarch 6.1.131-1.el9.elrepo elrepo-kernel
kernel-lt-headers.x86_64 6.1.131-1.el9.elrepo elrepo-kernel
kernel-lt-modules.x86_64 6.1.131-1.el9.elrepo elrepo-kernel
kernel-lt-modules-extra.x86_64 6.1.131-1.el9.elrepo elrepo-kernel
kernel-lt-tools.x86_64 6.1.131-1.el9.elrepo elrepo-kernel
kernel-lt-tools-libs.x86_64 6.1.131-1.el9.elrepo elrepo-kernel
kernel-lt-tools-libs-devel.x86_64 6.1.131-1.el9.elrepo elrepo-kernel
kernel-ml.x86_64 6.13.7-1.el9.elrepo elrepo-kernel
kernel-ml-core.x86_64 6.13.7-1.el9.elrepo elrepo-kernel
kernel-ml-devel.x86_64 6.13.7-1.el9.elrepo elrepo-kernel
kernel-ml-devel-matched.x86_64 6.13.7-1.el9.elrepo elrepo-kernel
kernel-ml-doc.noarch 6.13.7-1.el9.elrepo elrepo-kernel
kernel-ml-headers.x86_64 6.13.7-1.el9.elrepo elrepo-kernel
kernel-ml-modules.x86_64 6.13.7-1.el9.elrepo elrepo-kernel
kernel-ml-modules-extra.x86_64 6.13.7-1.el9.elrepo elrepo-kernel
kernel-ml-tools.x86_64 6.13.7-1.el9.elrepo elrepo-kernel
kernel-ml-tools-libs.x86_64 6.13.7-1.el9.elrepo elrepo-kernel
kernel-ml-tools-libs-devel.x86_64 6.13.7-1.el9.elrepo elrepo-kernel
kmod-3c59x.x86_64 0.0-2.el9_5.elrepo elrepo
kmod-3w-9xxx.x86_64 2.26.02.014-7.el9_5.elrepo elrepo
kmod-3w-sas.x86_64 3.26.02.000-7.el9_5.elrepo elrepo
kmod-3w-xxxx.x86_64 1.26.02.003-7.el9_5.elrepo elrepo
kmod-a2818.x86_64 1.26-2.el9_5.elrepo elrepo
kmod-a3818.x86_64 1.6.12-1.el9_5.elrepo elrepo
kmod-aacraid.x86_64 1.2.1-9.el9_5.elrepo elrepo
kmod-aic79xx.x86_64 3.0-4.el9_5.elrepo elrepo
kmod-aic7xxx.x86_64 7.0-4.el9_5.elrepo elrepo
kmod-arcmsr.x86_64 1.50.00.05-20210429.8.el9_5.elrepo elrepo
kmod-be2net.x86_64 12.0.0.0-16.el9_5.elrepo elrepo
kmod-cxgb3.x86_64 1.1.5-7.el9_5.elrepo elrepo
kmod-drbd84.x86_64 8.4.11-3.1.el9_5.elrepo elrepo
kmod-drbd9x.x86_64 9.2.12-1.el9_5.elrepo elrepo-testing
kmod-e100.x86_64 0.0-2.el9_5.elrepo elrepo
kmod-ecryptfs.x86_64 0.2-8.el9_5.elrepo elrepo
kmod-esas2r.x86_64 1.00-2.el9_5.elrepo elrepo
kmod-f81232.x86_64 0.0-1.el9_5.elrepo elrepo-testing
kmod-floppy.x86_64 0.0-6.el9_5.elrepo elrepo
kmod-hdpvr.x86_64 0.2.1-6.el9_5.elrepo elrepo
kmod-hfs.x86_64 0.0-1.el9_5.elrepo elrepo
kmod-hfsplus.x86_64 0.7-5.el9_5.elrepo elrepo
kmod-hid-mcp2221.x86_64 0.0-3.el9_5.elrepo elrepo
kmod-hpsa.x86_64 3.4.20-14.el9_5.elrepo elrepo
kmod-ib_mthca.x86_64 1.0.20080404-2.el9_5.elrepo elrepo
kmod-ib_qib.x86_64 1.11-14.el9_5.elrepo elrepo
kmod-isci.x86_64 1.2.0-8.el9_5.elrepo elrepo
kmod-jfs.x86_64 0.0-1.el9_5.elrepo elrepo
kmod-jme.x86_64 1.0.8-8.el9_5.elrepo elrepo
kmod-leds-gpio.x86_64 0.0-8.el9_5.elrepo elrepo
kmod-leds-pca9532.x86_64 0.0-7.el9_5.elrepo elrepo
kmod-megaraid_mbox.x86_64 2.20.5.1-7.el9_5.elrepo elrepo
kmod-megaraid_sas.x86_64 07.727.03.00-2.el9_5.elrepo elrepo
kmod-mlx4.x86_64 4.0-9.el9_5.elrepo elrepo
kmod-mpt3sas.x86_64 43.100.00.00-6.el9_5.elrepo elrepo
kmod-mptsas.x86_64 3.04.20-9.el9_5.elrepo elrepo
kmod-mvsas.x86_64 0.8.16-8.el9_5.elrepo elrepo
kmod-nvidia.x86_64 550.144.03-1.el9_5.elrepo elrepo
kmod-nvidia-470xx.x86_64 470.256.02-2.el9_5.elrepo elrepo-testing
kmod-pata_amd.x86_64 0.4.1-8.el9_5.elrepo elrepo
kmod-pata_atiixp.x86_64 0.4.6-7.el9_5.elrepo elrepo
kmod-pata_jmicron.x86_64 0.1.5-7.el9_5.elrepo elrepo
kmod-pata_pdc2027x.x86_64 1.0-5.el9_5.elrepo elrepo
kmod-pata_pdc202xx_old.x86_64 0.4.3-4.el9_5.elrepo elrepo
kmod-pata_sis.x86_64 0.5.2-8.el9_5.elrepo elrepo
kmod-pata_via.x86_64 0.3.4-7.el9_5.elrepo elrepo
kmod-qla2xxx.x86_64 10.02.09.200-1.el9_5.elrepo elrepo
kmod-qlcnic.x86_64 5.3.66-4.el9_5.elrepo elrepo
kmod-qlge.x86_64 1.00.00.35-2.el9_5.elrepo elrepo
kmod-r8125.x86_64 9.015.00-1.el9_5.elrepo elrepo
kmod-r8126.x86_64 10.015.00-1.el9_5.elrepo elrepo
kmod-r8168.x86_64 8.055.00-1.el9_5.elrepo elrepo
kmod-rr64xl.x86_64 1.5.8-2.el9_5.elrepo elrepo
kmod-rtw88_usb.x86_64 0.0-5.el9_5.elrepo elrepo
kmod-sata_mv.x86_64 1.28-8.el9_5.elrepo elrepo
kmod-sata_nv.x86_64 3.5-8.el9_5.elrepo elrepo
kmod-sata_promise.x86_64 2.12-5.el9_5.elrepo elrepo
kmod-sata_sil.x86_64 2.4-8.el9_5.elrepo elrepo
kmod-sata_sil24.x86_64 1.1-8.el9_5.elrepo elrepo
kmod-sata_sis.x86_64 1.0-9.el9_5.elrepo elrepo
kmod-sata_uli.x86_64 1.3-7.el9_5.elrepo elrepo
kmod-sata_via.x86_64 2.6-8.el9_5.elrepo elrepo
kmod-si2157.x86_64 0.0-7.el9_5.elrepo elrepo
kmod-sky2.x86_64 0.0-5.el9_5.elrepo elrepo
kmod-stex.x86_64 6.02.0000.01-8.el9_5.elrepo elrepo
kmod-sym53c8xx.x86_64 0.0-1.el9_5.elrepo elrepo
kmod-tulip.x86_64 0.0-4.el9_5.elrepo elrepo
kmod-usbip.x86_64 0.0-8.el9_5.elrepo elrepo
kmod-v4l2loopback.x86_64 0.12.7-6.el9_5.elrepo elrepo
kmod-via-velocity.x86_64 1.15-8.el9_5.elrepo elrepo
kmod-xr_serial.x86_64 0.0-5.el9_5.elrepo elrepo
kmod-xt_time.x86_64 0.0-6.el9_5.elrepo elrepo
kmod-xt_u32.x86_64 0.0-6.el9_5.elrepo elrepo
nvidia-detect.x86_64 550.144.03-1.el9.elrepo elrepo
nvidia-x11-drv.x86_64 550.144.03-1.el9_5.elrepo elrepo
nvidia-x11-drv-470xx.x86_64 470.256.02-2.el9_5.elrepo elrepo-testing
nvidia-x11-drv-470xx-libs.i686 470.256.02-2.el9_5.elrepo elrepo-testing
nvidia-x11-drv-470xx-libs.x86_64 470.256.02-2.el9_5.elrepo elrepo-testing
nvidia-x11-drv-libs.i686 550.144.03-1.el9_5.elrepo elrepo
nvidia-x11-drv-libs.x86_64 550.144.03-1.el9_5.elrepo elrepo
perf.x86_64 6.13.7-1.el9.elrepo elrepo-kernel
python3-perf.x86_64 6.13.7-1.el9.elrepo elrepo-kernel
usbip-utils.x86_64 0.0-1.el9 elrepo
v4l2loopback.noarch 0.12.7-1.el9.elrepo elrepo
リポジトリとしては、elrepo
とelrepo-kernel
の2種類があるようです。
新しいバージョンのカーネルをインストールする
今回はkernel-ml
を使って、Rocky Linux 9に新しいカーネルをインストールします。
kernel-ml
はメインラインの安定版のカーネルです。
The kernel-ml packages are built from the sources available from the “mainline stable” branch of The Linux Kernel Archives.
$ dnf --enablerepo elrepo-kernel info kernel-ml
メタデータの期限切れの最終確認: 0:01:18 前の 2025年03月21日 23時45分54秒 に実施しました。
利用可能なパッケージ
名前 : kernel-ml
バージョン : 6.13.7
リリース : 1.el9.elrepo
Arch : x86_64
サイズ : 34 k
ソース : kernel-ml-6.13.7-1.el9.elrepo.nosrc.rpm
リポジトリー : elrepo-kernel
概要 : The Linux kernel. (The core of any Linux kernel based operating system.)
URL : https://www.kernel.org/
ライセンス : GPLv2 and Redistributable, no modification permitted.
説明 : The kernel-ml meta package.
現時点では、カーネル6.13.7を指しているようです。
また、LTSのカーネルを表すkernel-lt
もあるようですね。
There is also kernel-lt that is based on a “long term support” branch
では、kernel-ml
をインストールします。
$ sudo dnf --enablerepo elrepo-kernel install kernel-ml
これでOSを再起動すると新しいカーネルが反映されます。
$ uname -srvmpio
Linux 6.13.7-1.el9.elrepo.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Mar 13 14:07:57 EDT 2025 x86_64 x86_64 x86_64 GNU/Linux
こんな感じで、ELRepoの概要を調べてみました。