Последние версии ядра Linux имеют драйверы для новых устройств и другие нововведения. К сожалению, многие популярные дистрибутивы Linux не спешат обновить ядро. Данная инструкция покажет, как легко, без компиляции, установить любую версию ядра Linux в Debian и производные дистрибутивы, например, в Kali Linux и LMDE (Linux Mint Debian Edition). Вы можете выбрать для установки как более новое ядро, так и более старое, чем предлагает репозиторий вашего дистрибутива.
При желании, вы без проблем можете удалить установленные ядра Linux и вернуться к ядру из репозитория.
Обратите внимание, что для Ubuntu и производных дистрибутивов имеется отдельная инструкция, поскольку процесс обновления ядер различается: Как установить последние версии ядра Linux в Ubuntu и Linux Mint.
Предупреждение перед обновлением ядра
Необходимо помнить, что из-за несовместимости ядра с программами (в первую очередь, с проприетарными видео драйверами), вы можете столкнуться с проблемами, в том числе с чёрным экраном во время загрузки.
В большинстве случаев, возникшие проблемы можно решить без переустановки дистрибутива. Начните с того, что в меню загрузки перейдите в дополнительные параметры и загрузитесь с предыдущей версией ядра. Выполнив загрузку, удалите проблемное ядро.
Проблемы могут вызвать проприетарные драйверы для видеокарт, поскольку старые версии могут быть не совместимы с последними версиями ядра без патча. Если у вас установлены проприетарные видео драйверы, то серьёзной подумайте, прежде чем следовать инструкциям ниже. Также подготовьтесь, поищите инструкции, как решить проблему при загрузки дистрибутива в чёрный экран.
Следует быть особенно осторожным владельцам старых дистрибутивов — настоятельно рекомендуется обновлять ядро только на последних версиях ОС.
Ещё одна вполне вероятная проблема, с которой вы можете столкнуться если установите ядро самой последней версии — проблема с неразрешёнными зависимостями и как следствие невозможность использования менеджера пакетов apt для обновления и установки программ. Если вы столкнулись с ситуацией, когда после успешной установки нового ядра не получается обновить пакеты с помощью apt, то попробуйте устанавливать более ранние версии ядра, которые вам подходят, а версии, вызывающие проблемы с зависимостями, удаляйте. Помните, что невозможно удалить ядро с которым вы загрузились — перед удалением загрузите компьютер с любой другой версией ядра.
Обновление ядра до последней версии в Debian
Данный раздел должен подойти для всех вариаций и производных Debian, например:
- Debian stable
- Debian testing
- Kali Linux
- Linux Mint Debian Edition (LMDE)
- MX Linux
- и другие
Проверим текущую версию ядра:
uname -a
Чтобы не компилировать ядро с нуля, воспользуемся ядрами проекта XanMod Kernel.
Для установки последней версии ядра достаточно выполнить следующие команды:
echo 'deb http://deb.xanmod.org releases main' | sudo tee /etc/apt/sources.list.d/xanmod-kernel.list wget -qO - https://dl.xanmod.org/gpg.key | sudo apt-key --keyring /etc/apt/trusted.gpg.d/xanmod-kernel.gpg add - sudo apt update && sudo apt install linux-xanmod
Дождитесь завершения работы и перезагрузитесь.
Ещё раз проверим версию ядра:
uname -a
Пример вывода:
Linux HackWare-Kali 5.13.19-xanmod1 #0~git20210919.7960459 SMP PREEMPT Sun Sep 19 13:46:36 UTC 2021 x86_64 GNU/Linux
Если по каким-либо причинам не произошло обновление меню GRUB, то выполните команду:
sudo update-grub
Как выбрать версию ядра XanMod
Всего доступны следующие метапакеты — в квадратных скобках указана версия ядра на момент написания:
- linux-xanmod [5.13]
- linux-xanmod-edge [5.14]
- linux-xanmod-lts [5.10]
- linux-xanmod-cacule [5.14-cacule]
- linux-xanmod-rt [5.10-rt]
Вы можете проверить версию ядра в пакете linux-xanmod следующей командой:
apt show linux-xanmod
Как вы можете убедиться, данный метапакет имеет в зависимостях (то есть фактически установит) пакеты linux-image-5.13.19-xanmod1 и linux-headers-5.13.19-xanmod1, следовательно, версия ядра в данный момент 5.13.19.
Проверим версию ядра linux-xanmod-edge:
apt show linux-xanmod-edge
В настоящее время версия ядра Linux в данном пакете 5.14.6.
Репозиторий XanMod содержит не только ядра, которые можно установить с помощью метапакетов, но и много других версий, вы можете их найти командой:
apt search linux-image-[0-9.]+-xanmod[0-9]+
При установке ядра выбранной версии, вам нужно установить соответствующие файлы заголовков, оба пакета должны иметь название вида linux-image-ВЕРСИЯ-xanmod1 и linux-headers-ВЕРСИЯ-xanmod1, причём номер ВЕРСИИ должен быть одинаковый, например:
sudo apt install linux-image-5.12.19-xanmod1 linux-headers-5.12.19-xanmod1
Как удалить ядро XanMod
Если вы установили ядро с помощью метапакета linux-xanmod, то вы можете удалить данный метапакет командой:
sudo apt remove linux-xanmod
Тем не менее, это ничего не изменит, установленные ядра останутся в системе! Для удаления самих ядер используйте команду вида:
sudo apt remove `sudo apt show linux-xanmod | grep Depends | sed 's/,//' | awk '{print $2,$3}'`
Если вы устанавливали ядро не используя метапакет, то удалите ядро и файл заголовков указав имена пакетов с их версиями, например:
sudo apt remove linux-image-5.12.19-xanmod1 linux-headers-5.12.19-xanmod1
Как восстановить Linux после установки ядра
Если ваш компьютер загружается с чёрным экраном, зависает или что-то не работает после обновления ядра, перезагрузитесь и выберите Дополнительные параметры для вашего дистрибутива в меню GRUB:
Затем выберите предыдущую версию ядра и нажмите Enter:
Независимо от причины, вам необходимо загрузиться с предыдущей версией ядра, если вы хотите удалить последнее ядро. Это потому, что вы не можете удалить ядро, которое в настоящее время используется.
Если вы не видите меню GRUB2, нажмите и удерживайте клавишу Shift или несколько раз нажмите клавишу Esc (это может варьироваться в зависимости от загрузки BIOS или UEFI и от используемой вами версии Ubuntu/Linux Mint) при загрузке GRUB. Должно появиться меню Grub, позволяющее выбрать предыдущую версию ядра.
После загрузки предыдущего ядра вы можете удалить неисправное ядро.
Для удаления ядра XanMod в Debian и производных выполните команду:
sudo apt remove linux-xanmod sudo apt remove `sudo apt show linux-xanmod | grep Depends | sed 's/,//' | awk '{print $2,$3}'`
Если это не было сделано автоматически, то обновите настроки GRUB:
sudo update-grub
Связанные статьи:
- Как установить последние версии ядра Linux в Ubuntu и Linux Mint (100%)
- Нужно ли перезагружать сервер после обновления ядра Linux (РЕШЕНО) (90.7%)
- Как удалить образы неиспользуемых старых ядер в Ubuntu (50%)
- Какие есть полезные инструменты с интерфейсом командной строки для системных администраторов Linux (50%)
- Ошибка «Kernel driver not installed (rc=-1908)» в VirtualBox (РЕШЕНО) (30%)
- 20 практических примеров команд RPM в Linux (RANDOM - 10.7%)