zaLinux.ru

Как установить последние версии ядра Linux в Ubuntu и Linux Mint


Последние версии ядра Linux имеют драйверы для новых устройств и другие нововведения. К сожалению, многие популярные дистрибутивы Linux не спешат обновить ядро. Данная инструкция покажет, как легко, без компиляции, установить любую версию ядра Linux в Ubuntu и Linux Mint. Вы можете выбрать для установки как более новое ядро, так и более старое, чем предлагает репозиторий вашего дистрибутива.

При желании, вы без проблем можете удалить установленные ядра Linux и вернуться к ядру из репозитория.

Поскольку Linux Mint основана на Ubuntu, то данная инструкция в полной мере применима и к дистрибутивам Linux Mint, кроме LMDE. Для LMDE (Linux Mint Debian Edition) смотрите статью «Как установить последние версии ядра Linux в Debian и основанные на Debian дистрибутивы».

Предупреждение перед обновлением ядра

Необходимо помнить, что из-за несовместимости ядра с программами (в первую очередь, с проприетарными видео драйверами), вы можете столкнуться с проблемами, в том числе с чёрным экраном во время загрузки.

В большинстве случаев, возникшие проблемы можно решить без переустановки дистрибутива. Начните с того, что в меню загрузки перейдите в дополнительные параметры и загрузитесь с предыдущей версией ядра. Выполнив загрузку, удалите проблемное ядро.

Проблемы могут вызвать проприетарные драйверы для видеокарт, поскольку старые версии могут быть не совместимы с последними версиями ядра без патча. Если у вас установлены проприетарные видео драйверы, то серьёзной подумайте, прежде чем следовать инструкциям ниже. Также подготовьтесь, поищите инструкции, как решить проблему при загрузки дистрибутива в чёрный экран.

Следует быть особенно осторожным владельцам старых дистрибутивов — настоятельно рекомендуется обновлять ядро только на последних версиях ОС.

Ещё одна вполне вероятная проблема, с которой вы можете столкнуться если установите ядро самой последней версии — проблема с неразрешёнными зависимостями и как следствие невозможность использования менеджера пакетов apt для обновления и установки программ. Если вы столкнулись с ситуацией, когда после успешной установки нового ядра не получается обновить пакеты с помощью apt, то попробуйте устанавливать более ранние версии ядра, которые вам подходят, а версии, вызывающие проблемы с зависимостями, удаляйте. Помните, что невозможно удалить ядро с которым вы загрузились — перед удалением загрузите компьютер с любой другой версией ядра.

mainline — репозиторий ядер Ubuntu

Для Ubuntu имеется репозиторий скомпилированных ядер mainline всех версий, в том числе самых последних, поэтому установка не вызывает особых сложностей — компилировать ядро Linux не нужно. Более того, имеются инструменты, в том числе с графическим интерфейсом для установки любых ядер. 

На самом деле, если ядра уже скомпилированы, то достаточно скачать из одной папки с сервера файлы следующего вида:

  • linux-headers-*-generic_*_amd64.deb
  • linux-headers-*_all.deb
  • linux-image-unsigned-*-generic_*_amd64.deb
  • linux-modules-*-generic_*_amd64.deb

И установить их командой:

sudo dpkg -i linux*.deb

Но процесс можно упростить ещё больше, используя утилиты для работы с ядрами.

mainline (продолжение бесплатной версии ukuu) — программа с графическим и консольным интерфейсом для обновления ядра

Если вы предпочитаете графический интерфейс, то используйте Mainline.

Чтобы установить программу выполните следующие команды:

sudo apt-add-repository -y ppa:cappelikan/ppa
sudo apt update
sudo apt install mainline

Для запуска графического интерфейса выполните:

mainline-gtk

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

mainline

Использование графической версии не должно вызвать затруднений. При запуске будет получена информация о доступных ядрах, вы можете выбрать любое ядро и установить его, просто нажав на кнопку «Установка». Дополнительно доступны такие действия как удаление ядер и просмотр списков изменений для каждой версии ядра.

Использование консольной версии следующее:

Синтаксис:


mainline КОМАНДА [ОПЦИИ]

Справка по опциям и командам:

Команды:

  --check             Проверить обновления ядра
  --notify            Проверить обновления ядра и уведомить текущего пользователя
  --list              Показать список всех доступных ядер mainline
  --list-installed    Показать установленные ядра
  --install-latest    Установить последнее ядро mainline
  --install-point     Установить последнее точечное обновление для текущей серии
  --install ИМЯ       Установить указанное ядро mainline(1)
  --uninstall ИМЯ     Установить указанное ядро(2)
  --uninstall-old     Установить ядра старше, чем текущее ядро
  --download ИМЯ      Загрузить указанное ядро(2)
  --clean-cache       Удалить файлы из кэша приложения

Опции:

  --include-unstable  Включать нестабильные выпуски и кандидаты в выпуск
  --hide-unstable     Прятать нестабильные выпуски и кандидаты в выпуск
  --debug             Включить подробный отладочный вывод
  --yes               Подразумевать Да на все запросы (неинтерактивный режим)
  --user              Переопределить пользователя

Примечания:

(1) Строка версии должна браться из вывода --list

(2) Одна или более строк версий (разделённые запятыми) берутся из вывода --list

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

По умолчанию ваша система будет загружена с последним ядром, если вы хотите это изменить, то перейдите в дополнительные параметры загрузки 


и выберите желаемую версию из установленных ядер.

Утилита ubuntu-mainline-kernel.sh

Установка ubuntu-mainline-kernel.sh


Последнюю версию ядра на Ubuntu и Linux Mint также можно установить с помощью утилиты командной строки ubuntu-mainline-kernel.sh.

Загружаем и устанавливаем скрипт ubuntu-mainline-kernel.sh:

wget https://raw.githubusercontent.com/pimlie/ubuntu-mainline-kernel.sh/master/ubuntu-mainline-kernel.sh
sudo install ubuntu-mainline-kernel.sh /usr/local/bin/

Справка по ubuntu-mainline-kernel.sh

Использование:

ubuntu-mainline-kernel.sh -c|-l|-r|-u

Опции ubuntu-mainline-kernel.sh:

Аргументы:
  -c               Проверить, доступна ли более новая версия ядра
  -i ВЕРСИЯ     Установить ядро ВЕРСИИ, список доступных версий смотрите с опцией -l.
                   Не нужно указывать префикс «v». Например, -i 4.9 это то же самое, что и -i v4.9.
                   Если версия пропущена, то будет установлена последняя версия
  -l ИСКАТЬ      Вывести список версий локально установленных ядер. Если указан аргумент с
                   этой опцией, то будет выполнен поиск по этой строке
  -r ИСКАТЬ      Вывести список доступных ядер. Если с этой опцией указан аргумент,
                   то будет выполнен поиск по этой строке
  -u ВЕРСИЯ     Удалить ядро указанной версии. Если версия пропущена,
                   отображается список из максимально 10 установленных ядер
  -h               Показать справку

Опции:
  -s, --signed         Устанавливать только подписанные пакеты ядра (не реализовано)
  -p, --path DIR       Рабочая директория, .deb файлы загружаются в
                       эту папка. Если пропущена, то будет использоваться папка
                       /tmp/ubuntu-mainline-kernel.sh/. Путь является относительным к $PWD
  -ll, --low-latency   Использовать версию ядра low-latency, только для amd64 и i386
  -lpae, --lpae        Использовать ядро Large Physical Address Extension, только для armhf
  --snapdragon         Использовать ядро Snapdragon, только для arm64
  -do, --download-only Только загрузить файлы deb, не устанавливать их
  -ns, --no-signature  Не проверять gpg подпись контрольной суммы файла
  -nc, --no-checksum   Не проверять sha подпись файлов .deb
  -d, --debug          Показать отладочную информацию, все внутренние команды будут показывать их вывод
  --rc                 Также включить кандидаты в выпуски
  --yes                Подразумевать Да на все вопросы (используйте с осторожностью!)

Пример установки последней версии ядра

Проверяем текущую версию ядра:

uname -r
5.11.0-36-generic

Ядро имеет версию 5.11.

Проверяем, какая версия ядра является последней:

ubuntu-mainline-kernel.sh -c

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

sudo ubuntu-mainline-kernel.sh -r

Например, мы хотим установить ядро версии v5.12.11, тогда команда следующая (префикс «v» указывать не надо):

sudo ubuntu-mainline-kernel.sh -i 5.12.11

Если вы хотите установить последнюю на данный момент версию, то запустите следующую команду:

sudo ubuntu-mainline-kernel.sh -i

Вам будет задан вопрос, хотите ли вы продолжить, введите «y»:

Latest version is: v5.14.6, continue? (y/N)

Программа завершила работу — чтобы изменения вступили в силу, требуется перезагрузка.

Опять проверяем версию ядра:


Как восстановить Linux после установки ядра

Если ваш компьютер загружается с чёрным экраном, зависает или что-то не работает после обновления ядра, перезагрузитесь и выберите Дополнительные параметры для вашего дистрибутива в меню GRUB:

Затем выберите предыдущую версию ядра и нажмите Enter:

Независимо от причины, вам необходимо загрузиться с предыдущей версией ядра, если вы хотите удалить последнее ядро. Это потому, что вы не можете удалить ядро, которое в настоящее время используется.

Если вы не видите меню GRUB2, нажмите и удерживайте клавишу Shift или несколько раз нажмите клавишу Esc (это может варьироваться в зависимости от загрузки BIOS или UEFI и от используемой вами версии Ubuntu/Linux Mint) при загрузке GRUB. Должно появиться меню Grub, позволяющее выбрать предыдущую версию ядра.

После загрузки предыдущего ядра вы можете удалить неисправное ядро. ubuntu-mainline-kernel.sh позволяет удалять ядра, установленные из PPA ядра Ubuntu.

С помощью ubuntu-mainline-kernel.sh вы можете удалить версию ядра, запустив:

sudo ubuntu-mainline-kernel.sh -u ВЕРСИЯ

Где ВЕРСИЯ — это версия ядра, например 5.14. Вы также можете эту утилиту с -u без указания версии, и в этом случае инструмент выведет список до 10 версий ядра и спросит вас, какую из них вы хотите удалить. Стоит отметить, что ubuntu-mainline-kernel.sh не будет показывать в этом списке официальные ядра Ubuntu.

Обновите настроки GRUB если это не было сделано автоматически:

sudo update-grub

Рекомендуемые статьи:

Оставить комментарий

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