Последние версии ядра 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
Связанные статьи:
- Как установить последние версии ядра Linux в Debian и основанные на Debian дистрибутивы (92%)
- Нужно ли перезагружать сервер после обновления ядра Linux (РЕШЕНО) (83.2%)
- Как удалить образы неиспользуемых старых ядер в Ubuntu (50%)
- Какие есть полезные инструменты с интерфейсом командной строки для системных администраторов Linux (44.6%)
- Ошибка «Kernel driver not installed (rc=-1908)» в VirtualBox (РЕШЕНО) (28.5%)
- Как подключить телевизор к компьютеру в Linux в GNOME (Ubuntu) (RANDOM - 5.5%)