Установка свежего ядра Linux (Mainline) на Rocky Linux

Linux kernel — это основа каждой системы Rocky Linux, управляющая оборудованием, памятью, процессами и безопасностью. Хотя Rocky Linux поставляется со стабильным, enterprise-протестированным ядром, вам могут понадобиться функции, поддержка оборудования или исправления безопасности, которые ещё не были перенесены в дистрибутивное ядро. Проект ELRepo предоставляет готовые пакеты mainline-ядра, которые дают вам доступ к последней стабильной версии с kernel.org без ручной компиляции.

💡 Если вам нужно самое свежее ядро для поддержки нового оборудования (Wi-Fi, GPU, NVMe), новейших функций или исправлений безопасности — ELRepo позволит установить mainline-ядро рядом со штатным, с возможностью выбора при загрузке.

В этом руководстве мы установим свежее ядро из репозитория ELRepo на Rocky Linux 8, 9 и 10. Вы узнаете:

  • Что такое kernel-ml и kernel-lt, и какой выбрать
  • Как подключить репозиторий ELRepo
  • Как установить mainline-ядро (kernel-ml)
  • Как переключаться между ядрами при загрузке
  • Как вернуться к штатному ядру Rocky Linux

Для кого: сисадмины (нужна поддержка нового оборудования), разработчики (нужны новые функции ядра), энтузиасты (хотят самое свежее), пользователи с новым железом (Wi-Fi 7, GPU последних поколений).


Оглавление

1. Выбор ядра: kernel-ml vs kernel-lt vs штатное

ELRepo предоставляет две ветки ядер, каждая из которых подходит для разных задач.

ВеткаТипСтабиль
ность
Rocky 8Rocky 9Rocky 10Для кого
kernel-mlMainline (самое свежее)Новейшие функции,
свежие драйверы
✅ Да✅ Да✅ ДаНовое оборудование, новейшие функции, разработчики
kernel-ltLong-term supportКонсервативные обновления, длительная поддержка✅ Да (5.4.x)✅ Да (6.1.x)❌ НетПродакшен-серверы, стабильность важнее новиз
ны
Штатное
ядро
RHEL-совместимоеEnterprise-протестированное, патчи
Red Hat
✅ Да✅ Да✅ ДаБольшинство пользователей, кому не нужны новые функции

💡 Вывод для новичка: Для большинства пользователей, которым нужны новые функции ядра, рекомендуется kernel-ml — он отслеживает последнюю стабильную версию с kernel.org. Если вы предпочитаете более консервативный путь обновления с длительным циклом поддержки, выбирайте kernel-lt (но на Rocky 10 он недоступен).

⚠️ Важно: ELRepo отключает репозиторий elrepo-kernel по умолчанию, чтобы случайно не обновить ядро при обычном dnf upgrade. При установке и обновлении ядра нужно явно включать репозиторий флагом --enablerepo=elrepo-kernel.


2. Подготовка системы

2.1 Обновление системы

sudo dnf upgrade --refresh -y

Что делает:

  • sudo — права суперпользователя.
  • dnf upgrade — обновляет все пакеты до последних версий.
  • --refresh — принудительно перекачивает метаданные репозиториев (игнорирует кэш).
  • -y — автоматически отвечает «yes».

Зачем: Это стандартная практика безопасности перед установкой нового ПО. Если эта команда установит обновление ядра — перезагрузитесь перед продолжением, чтобы ваше работающее ядро совпадало с установленными пакетами.

2.2 Установка dnf-plugins-core (если ещё не установлен)

sudo dnf install -y dnf-plugins-core

Что делает: Устанавливает набор плагинов для DNF, включая команду config-manager.

Зачем: Понадобится для управления репозиториями (включение/отключение elrepo-kernel).


3. Импорт GPG-ключа и добавление репозитория ELRepo

3.1 Импорт GPG-ключа ELRepo

sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

Что делает: Скачивает публичный GPG-ключ ELRepo и добавляет его в связку ключей RPM.

Зачем: DNF требует проверки GPG-подписи для пакетов из внешних репозиториев. Ключ позволяет проверить, что пакеты действительно происходят от ELRepo.

Проверка, что ключ импортирован:

rpm -q gpg-pubkey --qf '%{NAME}-%{VERSION}-%{RELEASE} %{SUMMARY}\n' | grep -i elrepo

Ожидаемый вывод:

gpg-pubkey-baadae52-6540544e gpg(elrepo.org (RPM Signing Key for elrepo.org) <secure@elrepo.org>)

3.2 Установка пакета ELRepo release

Выберите команду для вашей версии Rocky Linux.

Для Rocky Linux 10:

sudo dnf install -y https://www.elrepo.org/elrepo-release-10.el10.elrepo.noarch.rpm

Для Rocky Linux 9:

sudo dnf install -y https://www.elrepo.org/elrepo-release-9.el9.elrepo.noarch.rpm

Для Rocky Linux 8:

sudo dnf install -y https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm

Что делает: Устанавливает пакет elrepo-release, который создаёт файлы репозитория в /etc/yum.repos.d/, чтобы DNF мог находить пакеты ELRepo.

3.3 (Только для Rocky Linux 10) Обход проблемы с GPG-ключом

На Rocky Linux 10 из-за более строгих криптополитик может возникнуть ошибка импорта GPG-ключа:

error: Certificate 309BC305BAADAE52: Policy rejects 309BC305BAADAE52: Policy rejected asymmetric algorithm

Решение: Установите пакет elrepo-release с временно отключённой проверкой GPG:

sudo dnf install -y https://www.elrepo.org/elrepo-release-10.el10.elrepo.noarch.rpm --nogpgcheck

⚠️ Важно: Это отключает проверку только для установки пакета репозитория. Последующие установки пакетов из ELRepo будут проверять подписи нормально.

3.4 Проверка доступных ядер

dnf list available --disablerepo='*' --enablerepo=elrepo-kernel | grep -E '^kernel-(ml|lt)\.'

Ожидаемый вывод для Rocky 9:

kernel-lt.x86_64                        6.1.159-1.el9.elrepo       elrepo-kernel
kernel-ml.x86_64                        6.18.3-1.el9.elrepo        elrepo-kernel

Ожидаемый вывод для Rocky 10 (только kernel-ml):

kernel-ml.x86_64                        6.18.3-1.el10.elrepo       elrepo-kernel

Зачем: Убедиться, что репозиторий настроен правильно, и увидеть доступные версии ядер.


4. Установка mainline-ядра (kernel-ml)

4.1 Установка ядра

sudo dnf --enablerepo=elrepo-kernel install -y kernel-ml

Что делает: Устанавливает пакет kernel-ml (mainline-ядро) из репозитория ELRepo. Флаг --enablerepo=elrepo-kernel временно включает репозиторий для этой операции.

Зачем: Новое ядро устанавливается рядом со штатным, не удаляя его. При загрузке вы сможете выбрать, какое ядро использовать.

4.2 (Опционально) Установка дополнительных пакетов для разработки

Если вам нужно компилировать модули ядра (например, драйвер NVIDIA, VirtualBox), установите заголовочные файлы:

sudo dnf --enablerepo=elrepo-kernel install -y kernel-ml-devel kernel-ml-headers

Для установки дополнительных модулей и инструментов:

sudo dnf --enablerepo=elrepo-kernel install -y kernel-ml-modules-extra kernel-ml-tools

💡 Совет: Устанавливайте -devel и -headers только если они действительно нужны. Большинству пользователей, использующим готовое ПО, эти пакеты не требуются.

4.3 (Опционально) Установка kernel-lt (только для Rocky 8/9)

Если вы предпочитаете long-term support ядро вместо самого свежего:

sudo dnf --enablerepo=elrepo-kernel install -y kernel-lt

Зачем: kernel-lt получает патчи безопасности и исправления ошибок в течение длительного периода, но не включает новейшие функции kernel-ml. Выбирайте kernel-lt, если приоритет — стабильность, а не новизна.


5. Перезагрузка и выбор нового ядра

5.1 Перезагрузка системы

sudo reboot

Что делает: Перезагружает систему. Ядро работает на самом низком уровне ОС, поэтому изменения требуют полной перезагрузки.

5.2 Проверка версии загруженного ядра

uname -r

Ожидаемый вывод (пример для Rocky 10):

6.18.3-1.el10.elrepo.x86_64

Более подробная информация:

uname -a

Ожидаемый вывод:

Linux rocky10 6.18.3-1.el10.elrepo.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Jan 2 11:45:22 EST 2026 x86_64 x86_64 x86_64 GNU/Linux

Зачем: Убедиться, что загрузилось именно новое ядро (в версии есть elrepo).


6. Управление ядрами

6.1 Просмотр ядра по умолчанию

sudo grubby --default-kernel

Ожидаемый вывод:

/boot/vmlinuz-6.18.3-1.el10.elrepo.x86_64

6.2 Список всех установленных ядер

sudo grubby --info=ALL | grep -E '^(index|kernel|title)'

Ожидаемый вывод (пример):

index=0
kernel="/boot/vmlinuz-6.18.3-1.el10.elrepo.x86_64"
title="Rocky Linux (6.18.3-1.el10.elrepo.x86_64) 10.1 (Red Quartz)"
index=1
kernel="/boot/vmlinuz-6.12.0-124.21.1.el10_1.x86_64"
title="Rocky Linux (6.12.0-124.21.1.el10_1.x86_64) 10.1 (Red Quartz)"

Зачем: Показаны все ядра, доступные для загрузки, с их индексами и заголовками.

6.3 Смена ядра по умолчанию

По пути к файлу:

sudo grubby --set-default /boot/vmlinuz-6.12.0-124.21.1.el10_1.x86_64

По индексу (из списка выше):

sudo grubby --set-default-index=1

7. Обновление mainline-ядра

ELRepo обновляет пакеты kernel-ml при выходе новых стабильных ядер.

7.1 Проверка и установка обновлений

sudo dnf --enablerepo=elrepo-kernel upgrade kernel-ml

Что делает: Проверяет наличие новой версии kernel-ml в репозитории ELRepo и устанавливает её.

Зачем: Репозиторий elrepo-kernel отключён по умолчанию, поэтому обычная команда sudo dnf upgrade не обновит ядро. Нужно явно включать репозиторий.

7.2 (Опционально) Включение репозитория elrepo-kernel для автоматических обновлений

Если вы хотите, чтобы ядро обновлялось вместе с обычными dnf upgrade:

sudo dnf config-manager --set-enabled elrepo-kernel

⚠️ Внимание: Включение репозитория elrepo-kernel приведёт к тому, что при каждом dnf upgrade будет проверяться наличие новой версии ядра. Это может быть нежелательно на продакшен-серверах. Рекомендуется обновлять ядро явно, с флагом --enablerepo.

7.3 Перезагрузка после обновления ядра

sudo reboot

8. Возврат к штатному ядру

8.1 Выбор штатного ядра при загрузке

Если новое ядро вызывает проблемы, штатное ядро всё ещё установлено и доступно в GRUB.

  1. Перезагрузите систему и следите за появлением меню GRUB.
  2. Стрелками выберите запись со штатным ядром (в версии нет «elrepo»).
  3. Нажмите Enter.

8.2 Установка штатного ядра по умолчанию

После загрузки в штатное ядро выполните:

sudo grubby --set-default /boot/vmlinuz-$(rpm -q --qf '%{VERSION}-%{RELEASE}.%{ARCH}\n' kernel | head -1)

8.3 Удаление mainline-ядра (опционально)

⚠️ Перед удалением убедитесь, что вы загружены в штатное ядро (проверьте uname -r). Удаление работающего ядра невозможно и может привести к нестабильности системы.

sudo dnf remove kernel-ml kernel-ml-core kernel-ml-modules

Если устанавливали пакеты разработки:

sudo dnf remove kernel-ml-devel kernel-ml-headers

8.4 Отключение или удаление репозитория ELRepo (опционально)

Отключение репозиториев (без удаления):

sudo dnf config-manager --set-disabled elrepo
sudo dnf config-manager --set-disabled elrepo-kernel

Проверка, что репозитории отключены:

dnf repolist --all | grep elrepo

Полное удаление ELRepo:

sudo dnf remove elrepo-release

9. Диагностика проблем

9.1 Система не загружается после установки ядра

Решение: Штатное ядро остаётся доступным в GRUB.

  1. Перезагрузитесь и войдите в меню GRUB (клавиша Esc или Shift при загрузке).
  2. Выберите штатное ядро (без «elrepo» в названии).
  3. Загрузитесь и установите штатное ядро по умолчанию (см. раздел 8.2).

9.2 Перестали работать модули NVIDIA или VirtualBox

Причина: Модули, собранные под старое ядро, не работают с новым. DKMS-модули должны пересобраться автоматически, но иногда требуется ручное вмешательство.

Решение для драйверов NVIDIA из ELRepo:

sudo dnf --enablerepo=elrepo install kmod-nvidia

Решение для VirtualBox или других DKMS-модулей:

sudo dnf --enablerepo=elrepo-kernel install kernel-ml-devel
sudo dkms autoinstall

9.3 Репозиторий ELRepo не показывает пакеты

Проверка статуса репозитория:

dnf repolist --all | grep elrepo

Если репозиторий отключён — это нормально. Используйте --enablerepo=elrepo-kernel при установке.

Если репозиторий отсутствует — переустановите elrepo-release для вашей версии Rocky Linux.

9.4 Ошибка «No such command: config-manager»

Решение:

sudo dnf install -y dnf-plugins-core

Чек-лист: всё готово к работе

# 1. Проверка версии ядра
uname -r

# 2. Проверка, что загружено ядро из ELRepo
uname -r | grep elrepo

# 3. Проверка ядра по умолчанию
sudo grubby --default-kernel

# 4. Список установленных ядер
sudo grubby --info=ALL | grep -E '^(index|kernel|title)'

# 5. Проверка репозитория ELRepo
dnf repolist --all | grep elrepo

Заключение

Вы установили свежее mainline-ядро из ELRepo на Rocky Linux. Теперь ваша система имеет доступ к последним функциям ядра и поддержке нового оборудования.

Что теперь есть в системе:

  • ✅ Новое ядро kernel-ml (или kernel-lt)
  • ✅ Штатное ядро Rocky Linux осталось для отката
  • ✅ Возможность выбора ядра при загрузке
  • ✅ Инструменты для управления порядком загрузки

Что дальше:

  • После установки драйверов NVIDIA или VirtualBox пересоберите модули под новое ядро
  • Настройте автоматическую загрузку нужного ядра по умолчанию
  • Периодически обновляйте ядро: sudo dnf --enablerepo=elrepo-kernel upgrade kernel-ml
  • При проблемах — загрузитесь со штатным ядром через GRUB

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *