6
март
2024
10:32

Обновление ядра Linux при помощи утилиты "mainline" или скрипта "ubuntu-mainline-kernel.sh"

6 март 2024 10:32

С помощью "mainline" можно обновить ядра Ubuntu 20.04 или 22.04, других ОС до последних 6.7.8 или 6.8 rc7.

Обновление ядра Linux при помощи mainline

Способ №1 - утилита mainline

В Ubuntu Linux и Linux Mint есть инструмент mainline, который можно установить из репозитореия http://kernel.ubuntu.com/~kernel-ppa/mainline/

sudo add-apt-repository ppa:cappelikan/ppa
sudo apt update
sudo apt install mainline
mainline check
mainline install 6.7.8
# mainline install-latest # скачается и устанавится ядро 6.8-rc7 - следующее за 6.7.8.

Источник: Mainline – Another Tool to Install Latest Kernel in Ubuntu / Linux Mint

Способ №2 скрипт bash для обновления ядра

0) Если графический адаптер nVidia (см. вывод sudo lshw -class Video), с ним могут быть проблемы в случае использования проприетарного (несвободного) драйвера. Перед установкой нового ядра смените драйвер на совместимый - nVidia Nouveau с помощью Пуск - Параметры - Драйверы)

1) Узнаем текущую версию ядра

cat /proc/version_signature

2) Загрузка из Интернет с сайта и установка bash-скрипта "ubuntu-mainline-kernel.sh":

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

2) Перед установкой mainline проверьте наличие команды notify-send см. конец статьи.

3) Запуск mainline. Подготовительный этап - с ключом "-c" (от слова check - проверка)

ubuntu-mainline-kernel.sh -c 

4) Установка самого последнего ядра

sudo ubuntu-mainline-kernel.sh -i

5) Перезагрузка

sudo reboot /t:0   

6) Первым пунктом в меню встанет новое ядро. Загрузка будет выполнена с его помощью. Но если она не произошла (мигает курсор и т.п.) - всегда есть возможность вернуться к старому ядру в меню Grub - другие варианты загрузки.

Источник: https://github.com/cheviss/ubuntu-mainline-kernel.sh.


О сервисе notification-daemon и команде notify-send

Скрипт mainline использует внешнюю команду notify-send, наподобие

notify-send test!

По поводу notification-daemon - это сервис работающий не уровне DBus и перхватывающий вывод уведомлений и выводящий их в в виде транспарантов в районе системного лотка.

Если утилита notify-send не работает, нужно выполнить 3 простых шага:

1) Переустановка компонента (в моём случае runtu LITE - службы уведомлений notification-daemon).

sudo apt reinstall -y notification-daemon

2) Создание файла запуска службы

sudo nano /usr/share/dbus-1/services/org.freedesktop.Notifications.service

содержимое:

[D-BUS Service]
Name=org.freedesktop.Notifications
Exec=/usr/lib/notification-daemon/notification-daemon

3) Проверка:

notify-send test2!

Подробнее о службе всплывающих уведомлений (desktop notifications) для различных ОС см. здесь. Вариант реализации не важен: главное, чтобы работала команда notify-send.