Главная
» LINUX
»
Как установить новое ядро Linux на openSUSE Leap
Как установить новое ядро Linux на openSUSE Leap
Чтобы установить более новую версию ядра из основного репозитория на openSUSE Leap, следуйте описанному в документации методу Kernel:HEAD: сохраните заведомо работоспособное ядро, добавьте репозиторий, просмотрите предложенные Zypper изменения, а затем выполните установку.
Kernel:HEAD — это экспериментальный исходный код для разработки, а не плановое обновление стабильности или безопасности. В справочнике openSUSE специально предупреждается, что это ядро может привести к сбоям в системе, и указывается, что обычным пользователям следует использовать поддерживаемые обновления ядра Leap, которые включают исправления, перенесенные SUSE. Точные инструкции по использованию Kernel:HEAD, приведенные ниже, задокументированы для Leap 15.6; перед продолжением убедитесь, что репозиторий поддерживает вашу установленную версию Leap.
1. Проверьте версию Leap и текущее ядро.
Откройте терминал и запишите текущую версию и ядро:
cat /etc/os-release
uname -r
sudo zypper se -s 'kernel*'
Первая команда определяет дистрибутив, uname -rвыводит список запущенного ядра, а поиск Zypper отображает доступные пакеты. Убедитесь, что репозиторий поддерживает вашу версию Leap и архитектуру; точный рецепт Kernel:HEAD описан здесь для Leap 15.6.
Иллюстративный интерфейс терминала; результаты выпуска и упаковки зависят от вашей системы.
2. Сохраните загрузочное ядро в качестве резервного варианта.
В Leap обычно включена параллельная установка ядра. Перед добавлением ядра для разработки убедитесь, что поддержка нескольких версий остается активной, и установите параметр сохранения:
sudoedit /etc/zypp/zypp.conf
Убедитесь, что следующая строка присутствует и не закомментирована:
multiversion = provides:multiversion(kernel)
Этот multiversionпараметр включает параллельную установку ядра. Отдельный multiversion.kernelsпараметр определяет, какие установленные версии Zypper сохраняет. Если вы хотите сохранить как самое раннее установленное ядро, так и последние работающие ядра, установите политику следующим образом:
Если политика хранения уже существует, отредактируйте её, а не добавляйте дубликат. Сохранить running; oldestсохраняет ядро самой старой версии в качестве резервного варианта. Сохраните и выйдите.
Сохраните работающее ядро и добавьте самое старое, если хотите сохранить самое раннее установленное ядро в качестве резервного варианта.
3. Добавьте репозиторий Kernel:HEAD.
Kernel:HEAD отслеживает ход разработки и может быстро меняться. Добавьте его под понятным псевдонимом, затем обновите метаданные репозитория:
sudo zypper ar https://download.opensuse.org/repositories/Kernel:/HEAD/standard/ kernel-repo
sudo zypper ref
Если псевдоним уже существует, проверьте его URL-адрес с помощью команды zypper lr -d kernel-repo`npm install`; не добавляйте дубликат. В справочном документе openSUSE описана процедура работы с ядром Leap 15.6 для этого репозитория.
Эти команды добавляют репозиторий и обновляют его список пакетов; установка пока не происходит.
4. Предварительный просмотр и установка ядра.
Сначала попросите Zypper смоделировать обновление дистрибутива из указанного репозитория:
Проверьте транзакцию. Продолжайте только в том случае, если она содержит запрошенное ядро и необходимые зависимости. Если она предлагает масштабные удаления, несвязанные обновления или необъяснимые изменения от поставщика, ответьте «нет». Документированный --allow-vendor-changeвариант учитывает пакет ядра от другого поставщика; --fromвыбирает репозиторий. Проверьте каждое предлагаемое изменение.
Если в тестовом режиме отображаются только те изменения, которые вы намереваетесь внести, выполните описанную команду без подтверждения --dry-runи просмотрите запрос на подтверждение:
Не прерывайте транзакцию. Если вы используете драйверы, не входящие в исходный код, или пакеты модулей ядра (KMP), проверьте наличие сборок, соответствующих новому ядру; старое ядро может скрывать отсутствующие модули во время проверки зависимостей.
5. Перезагрузите систему, проверьте и сохраните резервный вариант.
После завершения работы Zypper перезагрузите систему и проверьте активное ядро:
sudo reboot
uname -r
Возвращаемая версия uname -rдолжна соответствовать выбранному вами ядру. Если это не так, используйте меню GRUB, чтобы выбрать новую запись, а затем проверьте настройки загрузчика по умолчанию. Оставьте установленным предыдущее ядро Leap до тех пор, пока новое ядро не будет загружаться надежно, а ваше основное оборудование, хранилище данных, графика, сеть и внешние модули не начнут работать.
Перед подтверждением обновления ознакомьтесь с предложенными Zypper изменениями, а затем проверьте активное ядро после перезагрузки.
Риски и советы по восстановлению
Используйте Kernel:HEAD только в том случае, если вам необходимо протестировать ядро для разработки. Это может привести к регрессиям; для обычного использования устанавливайте официальные обновления Leap, а не гонитесь за последней версией из исходного кода.
Проверьте совместимость модулей. Для проприетарных графических, виртуализационных, Wi-Fi и других внешних модулей может потребоваться соответствующий KMP или пересборка. При включенной функции Secure Boot ядро может отклонять неподписанные модули; перед обновлением ознакомьтесь с текущими рекомендациями по драйверам openSUSE.
Оставьте место на диске /boot. Несколько ядер, initrd и загрузочных записей занимают место на диске. Проверьте это df -h /bootперед установкой, особенно если загрузочный раздел небольшой.
Если новое ядро не загружается, перезагрузите систему и выберите предыдущее ядро Leap из GRUB. Не удаляйте это резервное ядро во время диагностики проблемы.