- Как установить последние версии ядра Linux в Ubuntu и Linux Mint
- Предупреждение перед обновлением ядра
- mainline — репозиторий ядер Ubuntu
- mainline (продолжение бесплатной версии ukuu) — программа с графическим и консольным интерфейсом для обновления ядра
- Утилита ubuntu-mainline-kernel.sh
- Как восстановить Linux после установки ядра
- How Do I update my kernel to the latest one?
Как установить последние версии ядра 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
Но процесс можно упростить ещё больше, используя утилиты для работы с ядрами.
mainline (продолжение бесплатной версии ukuu) — программа с графическим и консольным интерфейсом для обновления ядра
Если вы предпочитаете графический интерфейс, то используйте Mainline.
Чтобы установить программу выполните следующие команды:
sudo apt-add-repository -y ppa:cappelikan/ppa sudo apt update sudo apt install 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 и 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
Аргументы: -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 Подразумевать Да на все вопросы (используйте с осторожностью!)
Пример установки последней версии ядра
Проверяем текущую версию ядра:
Проверяем, какая версия ядра является последней:
Чтобы вывести список доступных для установки версий ядер выполните команду:
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 если это не было сделано автоматически:
How Do I update my kernel to the latest one?
I want to update my Kernel to the latest stable version which is v5.16.1 I followed a guide which showed how to install kernel 5.16 . Everything went fine until I received this error:
dpkg: dependency problems prevent configuration of linux-headers-5.16.1-051601-generic: linux-headers-5.16.1-851601-generic depends on libc6 (>= 2.34); however: Version of libc6:amd64 on system is 2.31-8ubuntu9.2. linux-headers-5.16.1-851601-generic depends on libssl3 (>= 3.8.0--alphal); however: Package libssl3 is not installed. dpkg: error processing package linux-headers-5.16.1-051601-generic (--install): dependency problems - leaving unconfigured Setting up linux-image-unsigned-5.16.1-051601-generic (5.16.1-051601.282201160933) . I: /boot/vmlinuz.old is now a symlink to vmlinuz-5.13.0-27-generic I: /boot/initrd.img.old is now a symlink to initrd.img-5.13.0-27-generic I: /boot/vmlinuz is now a symlink to vmlinuz-5.16.1-051601-generic I: /boot/initrd.img is now a symlink to initrd.img-5.16.1-051601-generic Setting up linux-modules-5.16.1-051601-generic (5.16.1-051601.202201160933) Processing triggers for linux-image-unsigned-5.16.1-051601-generic (5.16.1-051601.202201160933) /etc/kernel/postinst.d/initramfs-tools: update-initramfs: Generating /boot/initrd.img-5.16.1-851681-generic I: The initramfs will attempt to resume from /dev/sda2 I: (UUID=91b5f7d6-87fe-498a-a823-88828fa8256a) I: Set the RESUME variable to override this. /etc/kernel/postinst.d/zz-update-grub: Sourcing file 7etc/default/grub. Sourcing file 7etc/default/grub.d/99_breeze-grub.cfg. Sourcing file 7etc/default/grub.d/init-select.cfg. Generating grub configuration file . Found theme: /boot/grub/themes/breeze/theme.txt Found linux image: /boot/vmlinuz-5.16.1-851681-generic Found initrd image: /boot/initrd.img-5.16.1-051601-generic Found linux image: /boot/vmlinuz-5.15.15-051515-generic Found initrd image: /boot/initrd.img-5.15.15-851515-generic Found linux image: /boot/vmlinuz-5.13.8-27-generic Found initrd image: /boot/initrd.img-5.13.8-27-generic Found linux image: /boot/vmlinuz-5.11.0-46-generic Found initrd image: /boot/initrd.img-5.11.0-46-generic Found linux image: /boot/vmlinuz-5.4.0-96-generic Found initrd image: /boot/initrd.img-5.4.0-96-generic Found memtest86+ image: /boot/memtest86+.elf Found memtest86+ image: /boot/memtest86+.bin done Errors were encountered while processing: linux-headers-5.16.1-051681-generic
- OS : Kubuntu 21.10 (Currently running Kernel 5.13)
- CPU: i3-8100
- Storage: 250GB NVMe M.2 SSD
- GPU : Nvidia GeForce GTX 1650
- RAM: 8GB 2400 MHz