Как пропатчить ядро linux

Как пропатчить ядро без перезагрузки: livepatch, kpatch и Canonical Livepatch Service

Как пропатчить ядро linux. image loader. Как пропатчить ядро linux фото. Как пропатчить ядро linux-image loader. картинка Как пропатчить ядро linux. картинка image loader.

Тему обновления патчей ядра без перезагрузки мы уже рассматривали в статье, опубликованной в 2014 году. В ней речь шла о KernelCare — инструменте, разработанном нашими партнёрами из компании Cloud Linux. На момент написания статьи KernelCare был чуть ли не единственным пригодным для полноценного использования инструментом для наложения патчей.

Прошло два с небольшим года — и ситуация изменилась, причём кардинально: начиная с версии 4.0 возможность наложения патчей «на лету» была официально добавлена в ядро.

Инструменты kpatch и kGraft, которые в 2014 году находились в «сыром» состоянии, также были существенно усовершенствованы. Kpatch даже был добавлен в официальные репозитории, — например, в Ubuntu 16.04 его уже можно установить с помощью стандартного менеджера пакетов.

А компания Canonical совсем недавно представила сервис Canonical Livepatch Service, с помощью которого можно патчить без перезагрузки ядро Ubuntu.

Более подробно о некоторых современных инструментах для добавления патчей мы расскажем в этой статье.

Простейший пример: livepatch

Начнём с очень простого эксперимента. Для этого нам понадобится любой дистрибутив Linux c ядром версии 4.0 или выше (в нашем случае это Ubuntu 16.04; здесь и далее все примеры команд приводятся именно для этого дистрибутива). В новых версиях ядра функция добавления патчей «на лету»(она так и называется — livepatch) включена по умолчанию.

Чтобы проверить, как она работает, нам потребуется, во-первых, установить заголовки ядра:

Далее установим отладочные символы ядра:

При выполнении этой команды в Ubuntu 16.04 может быть выдано следующее сообщение об ошибке:

Причина ошибки в том, что репозитории deb-src по умолчанию не подключены, а соответствующие строки в файле /etc/apt/sources.list закомментированы. Чтобы мы смогли работать с репозиториями исходных кодов, выполним:

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

Соберём модуль и вставим его в ядро:

Посмотрим, что получилось. Выполним:

Вместо стандартной информации о параметрах ядра мы увидим вот такой текст:

Как видим, патч был успешно применён.

Вся информация о загруженных патчах хранится в директории /sys/kernel/livepatch:

Деактивировать патч можно с помощью команды:

Kpatch

Kpatch — инструмент, разработанный компаний Red Hat. Впервые он был представлен широкой пользовательской аудитории в феврале 2016 года. За это время он был значительно усовершенствован: в Ubuntu 16.04 он уже включён в официальные репозитории. Рассмотрим особенности работы с kpatch на практических примерах.

Начнём с установки необходимых зависимостей:

Для полноценной работы с kpatch также желательно установить ccache:

Вот и всё, зависимости установлены. Можно устанавливать kpatch:

В нашем эксперименте мы будем патчить исходники ядра. Клонируем репозиторий с исходным кодом нашей текущей версии Ubuntu:

По завершении клонирования скопируем исходники в директорию ubuntu-xenial-kpatch (это нужно, чтобы вносить изменения в исходный код и потом создавать на основе этих изменений патчи):

Откроем файл ubuntu-xenial-kpatch/ubuntu-xenial/fs/proc/version.c и внесём в него следующие изменения:

Cоздадим патч с помощью команды:

Патч представляет собой обычный текстовый файл, в котором перечислены внесённые изменения:

Чтобы добавить патч в ядро, выполним:

Как видно из только что приведённого вывода, на выходе мы получаем модуль ядра. Чтобы применить патч, нужно просто добавить этот модуль стандартным способом:

Посмотрим, что получилось в результате:

Canonical Livepatch Service

Несколько месяцев назад компания Canonical запустила официальный сервис Canonical LivePatch Service, который позволяет патчить ядро «на лету» при помощи простейших команд. Этот сервис ориентирован в первую очередь на пользователей enterprise-уровня, и поэтому является платным.

Но рядовые пользователи тоже могут оперативно получать все свежие обновления ядра. Для этого нужно зарегистрироваться на Ubuntu One и получить токен. Токен даёт возможность установить на 3 машины программу canonical-livepatch, которая загружает и добавляет патчи.

Посмотрим, как работает Canonical Livepatch Service. Перейдём по ссылке выше, получим токен, а далее выполним:

По завершении установки выйдем из системы, затем войдём снова и выполним:

Если всё было сделано правильно, мы получим следующее сообщение:

Далее выполним команду:

Вывод показывает, что сanonical-livepatch работает, и в ядро установлены все последние обновления. Более подробную информацию можно получить, воспользовавшись опцией −−verbose:

Также информацию об установленных патчах можно получить, заглянув в уже упомянутую выше директорию /sys/kernel/livepatch:

Kpatch_livepatch_Ubuntu_4_4_0_47_68_generic_14 — это и есть последний загруженный патч. Последние цифры в имени патча (14) совпадают с номером версии, указанным в выводе команды canonical-livepatch status (см. выше).

Убедиться, что новый патч был добавлен, можно и с помощью команды lsmod:

Заключение

В этой статье мы проделали небольшой отбор инструментов для добавления патчей в ядро Linux. Естественно, что все аспекты темы в рамках одной публикации затронуть невозможно. Если у вас есть замечания и дополнения — добро пожаловать в комментарии.

А если вы хотите изучить тему более глубоко, обратите внимание на следующие ссылки:

Источник

Применение патчей к ядру Linux

Джеспер Джал (Jesper Juhl), перевод Олега Смагина aka saturn721

Часто задаваемый вопрос в списке рассылки ядра линукс — это как применить патч к ядру, или, точнее, какой патч для какой версии ядра подходит. В данном документе это объясняется.

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

Что такое патч (patch)?

Патч, или заплатка — это небольшой текстовый документ, содержащий суть изменений между двумя разными версиями исходных текстов. Патчи создаются с помощью программы ‘diff’. Для правильного применения патча вам нужно знать, на основе чего он был создан, и в какую новую версию патч превратит исходные тексты ядра. И то и другое может быть представлено в метаданных файла патча и, возможно, в его названии.

Как применить или отменить патч?

Патч применяется с помощью программы ‘patch’. Эта программа читает файл различий (или патч) и делает изменения в нужных местах исходных текстов.

Патчи для ядра Linux генерируются относительно родительского каталога, содержащего исходные тексты ядра.

Это означает, что пути к файлам внутри файла патча содержат имя директории исходных текстов ядра, относительно которой этот патч генерировался (или имена некоторых других директорий подобно «a/» или «b/»).

то отменить его можно так:

Как передавать файл заплатки/патча программе ‘patch’?

Это (как и в других Unix-подобных системах) может быть сделано несколькими способами. Во всех примерах, указанных ниже, я передаю файл (в разархивированном виде) программе через стандартный ввод, используя следующий синтаксис:

Если для вас этого достаточно, можете дальше не читать этот раздел.

Если файл патча содержится в архиве gzip или bzip, и вы не хотите распаковывать его заранее, можно вызвать ‘patch’ так:

Если файл патча содержится в архиве, и вы хотите разархивировать его вручную до применения, (в примерах ниже это предполагается), это можно сделать так:

Основные ошибки

Когда программа ‘patch’ применяет патч, она пытается проверить файл разными способами. В частности, проверяется, что файл является допустимым патч-файлом и что код, окружающий биты, которые должны быть изменены, соответствует контексту патча.

Если программа ‘patch’ считает, что в патче что-то выглядит неправильно, она может выбрать один из вариантов поведения — отказаться проводить изменения и закончить работу или попытаться найти способ применения патча с небольшими изменениями.

Один из примеров ситуации «что-то не так», которую программа пытается исправить, — это когда контекст изменений присутствует, нужные строки находятся, но у них другие номера. Так может случиться, к примеру, если программа ‘patch’ делает изменения в середине файла, но по каким-то причинам несколько строк в начале файла были добавлены или удалены. Если все остальное в порядке, программа обычно подгоняет номера строк и применяет патч.

Всякий раз, когда программа ‘patch’ применяет патч с его предварительной модификацией, она сообщает вам, что патч применен с ‘подгонкой’ (‘fuzz’).

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

Если вы не применяете к исходным текстам своего ядра неофициальные патчи, а используете только патчи с ресурса kernel.org, применяя их в правильном порядке, и не делаете самостоятельных изменений в исходных текстах ядра, то вы никогда не увидите сообщений ‘fuzz’ или ‘reject’ от программы ‘patch’. Если они будут выдаваться, это свидетельствует об порче ваших локальных исходных текстов или скаченного патча. Вам стоит попробовать снова закачать патч, а если и это не устранит проблемы, то следует скачать полные исходные тексты ядра с kernel.org.

Давайте посмотрим на другие сообщения, которые может генерировать программа ‘patch’.

Если вы получили сообщение «Hunk #2 succeeded at 1887 with fuzz 2 (offset 7 lines).» или подобное, это означает, что программа ‘patch’ регулировала применяемые изменения (в данном случае пришлось передвинуться на 7 строк от того места, где они должны были применяться, чтобы их стало можно применить). Результирующий файл может получиться правильным или неправильным в зависимости от причин, по которым исходный файл был не таким, как ожидалось. Так часто случается, когда вы пытаетесь применить патч не к той версии ядра.

Сообщение «patch: **** unexpected end of file in patch» или «patch unexpectedly ends in middle of line» означает, что программа не может обнаружить в файле патча нужное содержание. Это значит, что либо вы некорректно загрузили патч, либо пытаетесь применить патч не в разархивированном виде, либо применяете патч, переданный через почтовый клиент или что-то и подобное, разбивающее длинные строки на две. Зачастую такие предупреждения могут легко быть устранены путем объединения (конкатенации) таких двойных строк.

Как ранее указывалось, эти ошибки не могут проявиться, когда вы применяете официальные патчи с ресурса kernel.org в правильном порядке и к не измененным исходным текстам ядра. Таким образом, если это случается с патчами с kernel.org, это обозначает искажение патча при загрузке или исходных текстов на вашей машине, и вам стоит полностью заново перекачать исходные тексты ядра или патч, который вы намерены применить.

Есть ли альтернативы программе ‘patch’?

Можно использовать программу ‘interdiff’ (http://cyberelk.net/tim/patchutils/) для создания патча, представляющего разницу между двумя патчами, и дальнейшего его применения.

Однако, хотя эта программа поможет вам сэкономить один или два шага, рекомендуется применять все шаги, поскольку в некоторых случаях interdiff может сработать неправильно.

Другой альтернативой является сценарий ‘ketchup’, написанный на языке python, который автоматически скачивает и применяет патчи (http://www.selenic.com/ketchup/).

Другими интересными инструментами являются diffstat, который показывает сводку изменений, сделанных программой patch; lsdiff, который выводит краткий перечень файлов, затрагиваемых заданным патч-файлом, вместе с номерами изменяемых строк; и grepdiff, показывающий список файлов, модифицируемых патчем, для которых элементы патча содержат заданное регулярное выражение.

Где я могу скачать патчи?

Патчи доступны на http://kernel.org/ Наиболее свежие патчи доступны с главной страницы, но для них имеются и отдельные страницы.

Взамен ftp.kernel.org вы можете использовать ftp.cc.kernel.org, где cc — код страны. Использование для закачки зеркало из наиболее ближней к вам страны позволяет ускорить загрузку, сократить глобальный трафик и уменьшить нагрузку на сервер kernel.org. Поэтому при наличии возможности используйте зеркала.

Ядра 2.6.x

Имеются основные стабильные релизы, выпускаемые Линусом Торвальдсом. Чем больше номер, тем свежее релиз.

Чтобы применить патч от 2.6.11 к 2.6.12, нужно сделать следующее (учитывайте что такие патчи не применимы к ядрам версий 2.6.x.y, их можно применять только к базовым версиям 2.6.x ядро — если необходимо перейти от 2.6.x.y к 2.6.x+1, то нужно сперва применить патч, отменяющий 2.6.x.y, т.е. вернуться к 2.6.x).

Вот несколько примеров:

Ядра 2.6.x.y

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

Если нет доступного ядра 2.6.x.y, то текущей стабильной версией является ядро с самым большим номером 2.6.x.

Не инкрементальность патча означает, например, что патч 2.6.12.3 подходит для обновления основной версии 2.6.12, но не промежуточной версии 2.6.12.2. Для применения патча 2.6.12.3 к существующему ядру 2.6.12.2 вы должны сперва отменить патч 2.6.12.2 (перейти назад к версии 2.6.12), а затем применить патч 2.6.12.3.

Вот небольшой пример:

Это опытные ядра, выпускаемые Линусом, когда он сочтет, что текущее дерево git (приложение управления исходными текстами ядра) находится в состоянии, достаточно пригодном для тестирования.

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

Таким образом, 2.6.13-rc5 означает, что это пятый кандидат-релиз для ядра 2.6.13, и патч должен применяться к версии 2.6.12.

Вот три примера наложения этого патча:

Эти ежедневные снимки дерева ядра Линуса (сделанные в репозитарии git, поэтому такое название).

Вот несколько примеров применения патчей:

Это экспериментальные ядра, выпускаемые Андрю Мортоном (Andrew Morton).

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

Вот несколько примеров того, как их применять:

На этом список разъяснений по различным ядра деревьев можно закончить.

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

Особая благодарность Рэнди Данлэп (Randy Dunlap), Ролфу Айке Беру (Rolf Eike Beer), Линусу Торвальсу (Linus Torvalds), Бого Эггерту (Bodo Eggert), Йоханнесу Стезенбаху (Johannes Stezenbach), Гранту Коди (Grant Coady), Павлу Мачеку (Pavel Machek) и другим, которых я забыл указать, за помощь в создании данного документа.

Источник

Kernel (Русский)/Arch Build System (Русский)

Contents

Подготовка

Сборка происходит при помощи makepkg, поэтому необходимо следовать «лучшим практикам», приведённым в соответствующей статье. Например, запустить makepkg от root/sudo не получится; следовательно, прежде всего необходимо создать каталог build внутри домашнего каталога.

Для кастомизации необходимо чистое ядро. Следующие команды загрузят PKGBUILD и прочие файлы в каталог сборки:

В данный момент дерево файлов в каталоге должно иметь примерно следующий вид (могут быть дополнительные файлы):

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

Редактирование PKGBUILD

Отключение создания документации

Создание документации отнимает много времени в процессе компиляции. На данный момент (16 июня 2021) следующий патч к PKGBUILD позволяет её отключить:

Этот патч удаляет строку #63 и изменяет строку #194. Если изменения не получится применить корректно, отредактируйте файл вручную.

Изменение prepare()

Внутри этой функции можно применить необходимые патчи или изменить настройки сборки.

Если необходимо изменить несколько опций, отредактируйте файл настроек в исходниках.

Также можно воспользоваться графическим инструментом для переключения опций. Закомментируйте строку make olddefconfig в функции prepare() в файле PKGBUILD и добавьте свою утилиту.

Обновление контрольных сумм

Если вы заменили загруженный config другим, то перед запуском makepkg установите пакет pacman-contrib и обновите котрольные суммы командой:

Компиляция

Если для настройки параметров ядра была выбрана интерактивная программа (например, menuconfig), то во время компиляции потребуется ваше присутствие.

Установка

После компиляции в каталоге

/build/linux появится два пакета, один для ядра и один — для заголовочных файлов. Их названия будут иметь примерно следующий вид:

Лучше всего установить оба пакета одной командой, т.к. они могут потребоваться одновременно (например, для DKMS).

(замените названия пакетов на свои).

Загрузчик

Обновление

Предположим, имеется набор файлов с исходным кодом ядра Arch и их необходимо обновить. Это можно сделать с помощью https://github.com/archlinux/linux. В примерах ниже предполагается, что исходники находятся в каталоге

Изначально метка HEAD локального bare-репозитория в archlinux-linux/ указывает на

т.е. где-то между v5.2.5-arch1 и v5.2.6-arch1.

А эта команда (показывает последнюю по времени метку) вывела более свежую метку archlinux, v5.2.7-arch1. Отсутствие новых меток означало бы, что исходники archlinux не изменились.

Теперь можно обновить файлы с исходным кодом:

Проверить, что всё верно, можно следующим образом:

Новейшие PKGBUILD и настройки ядра можно скачать командой asp :

/build/linux/linux/* с файлами в каталоге

Очистка

После объединения файлов имеет смысл удалить

/build/linux/src/archlinux продолжит собирать ветки вида 5.2.7-arch1 при последующих обновлениях. Ненужную ветку тоже можно удалить:

Источник

Как установить последние версии ядра 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 не нужно. Более того, имеются инструменты, в том числе с графическим интерфейсом для установки любых ядер.

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

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

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

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

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

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

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

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

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

Как пропатчить ядро linux. xmainline gtk.png.pagespeed.ic.6rZUBIh3BS. Как пропатчить ядро linux фото. Как пропатчить ядро linux-xmainline gtk.png.pagespeed.ic.6rZUBIh3BS. картинка Как пропатчить ядро linux. картинка xmainline gtk.png.pagespeed.ic.6rZUBIh3BS.

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

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

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

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

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

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

Как пропатчить ядро linux. ubuntu boot menu. Как пропатчить ядро linux фото. Как пропатчить ядро linux-ubuntu boot menu. картинка Как пропатчить ядро linux. картинка ubuntu boot menu.

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

Как пропатчить ядро linux. ubuntu kernels. Как пропатчить ядро linux фото. Как пропатчить ядро linux-ubuntu kernels. картинка Как пропатчить ядро linux. картинка ubuntu kernels.

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

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

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

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

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

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

Как пропатчить ядро linux. uname. Как пропатчить ядро linux фото. Как пропатчить ядро linux-uname. картинка Как пропатчить ядро linux. картинка uname.

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

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

Как пропатчить ядро linux. ubuntu mainline kernel. Как пропатчить ядро linux фото. Как пропатчить ядро linux-ubuntu mainline kernel. картинка Как пропатчить ядро linux. картинка ubuntu mainline kernel.

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

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

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

Как пропатчить ядро linux. ubuntu mainline kernel 2. Как пропатчить ядро linux фото. Как пропатчить ядро linux-ubuntu mainline kernel 2. картинка Как пропатчить ядро linux. картинка ubuntu mainline kernel 2.

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

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

Как пропатчить ядро linux. ubuntu mainline kernel 3. Как пропатчить ядро linux фото. Как пропатчить ядро linux-ubuntu mainline kernel 3. картинка Как пропатчить ядро linux. картинка ubuntu mainline kernel 3.

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

Как пропатчить ядро linux. uname r. Как пропатчить ядро linux фото. Как пропатчить ядро linux-uname r. картинка Как пропатчить ядро linux. картинка uname r.

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

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

Как пропатчить ядро linux. ubuntu boot menu. Как пропатчить ядро linux фото. Как пропатчить ядро linux-ubuntu boot menu. картинка Как пропатчить ядро linux. картинка ubuntu boot menu.

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

Как пропатчить ядро linux. ubuntu kernels. Как пропатчить ядро linux фото. Как пропатчить ядро linux-ubuntu kernels. картинка Как пропатчить ядро linux. картинка ubuntu kernels.

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

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

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

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

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

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

Источник

Добавить комментарий

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