Как обновить ядро arch linux

Обновлено: 07.07.2024

С помощью Arch Build System можно собрать собственное ядро на основе официального пакета linux . Данный метод автоматизирует весь процесс компиляции и основан на тщательно протестированном пакете. Отредактировав PKGBUILD, вы можете выбрать произвольные настройки ядра или добавить некоторые патчи.

Contents

Подготовка

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

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

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

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

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

Внесите необходимые изменения в PKGBUILD . Обратите внимание на параметр pkgbase — в нём следует указать название вашего нового пакета, например:

Важно: Ни в коем случае не добавляйте строку linux в массив provides . Ваше ядро не будет совместимо с двоичными модулями стандартного ядра, поэтому удовлетворить такую зависимость будет невозможно. По той же причине не добавляйте linux-headers в provides пакета с заголовочными файлами.

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

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

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

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

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

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

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

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

Компиляция

Теперь можно скопилировать ядро командой makepkg .

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

С параметром -s makepkg загрузит все необходимые зависимости, используемые последними ядрами, такие как xml и docs.

Установка

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

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

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

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

Загрузчик

Если вы изменили значение pkgbase , чтобы новое ядро устанавливалось рядом со стандартным, то необходимо внести изменения в настройки загрузчика, добавив новые значения ('default' и 'fallback') для вашего ядра и его initramfs-образа.

Обновление

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

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

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

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

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

В выводе видно archlinux-патчи между ядрами Arch Linux kernel v5.2.7-arch1 и Linux 5.2.7 .

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

Примечание: Иногда asp не обновляет файлы, даже если найдена более новая метка исходников archlinux. Это может быть связано с тем, что файлы сборки появляются лишь через некоторое время после добавления исходников.

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

Очистка

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

/build/linux/linux/ . Кроме того,

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

Логотип Arch Linux на розово-белом градиенте

Проект Ubuntu

Пришло время обновить вашу систему Arch Linux? Независимо от того, используете ли вы чистый Arch или дистрибутив на основе Arch, такой как Manjaro и Garuda Linux, мы покажем вам, как безопасно обновить вашу систему с помощью одной или двух простых команд.

В любом дистрибутиве Linux важно поддерживать пакеты в актуальном состоянии. Арка работает по модели скользящего выпуска, доставляя самые современные обновления для вашей виртуальной двери, как только они будут готовы. По этой причине необходимы частые обновления (в сочетании с эффективным резервным копированием), чтобы избежать поломки системы и поврежденных пакетов.

Большинство дистрибутивов на основе Arch используют Пакман диспетчер пакетов для загрузки и установки обновлений, процесс, технически называемый «синхронизацией». Вы будете использовать команды pacman, чтобы ваши пакеты синхронизировались и работали.

Примечание. Для выполнения этих инструкций вашей учетной записи требуется доступ sudo.

Применить обновление системы в Arch Linux

Чтобы начать обновление всех установленных пакетов, откройте любое приложение терминала и введите следующую команду:

sudo pacman -Syu

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

Войти "sudo pacman -Syu" в терминале

Затем вам будет предложено подтвердить, что вы хотите применить полное обновление. Введите y и нажмите Enter для подтверждения или используйте n для отмены.

Введите y и нажмите Enter, чтобы подтвердить обновление.

Если у вас есть пакеты, которые, как вы подозреваете, повреждены, вы можете принудительно загрузить базу данных вместе с обновлением, чтобы решить эти проблемы. Даже если обновления недоступны, pacman проверит целостность ваших установленных пакетов. Чтобы это произошло, добавьте к строке второй y.

sudo pacman -Syyu

Как обновить определенный пакет в Arch Linux

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

sudo pacman -S имя_пакета Предупреждение: мы не рекомендуем обновлять определенные пакеты, часто игнорируя другие доступные обновления. Из-за процесса скользящего выпуска Arch обновления с выбором вишни могут вызвать проблемы.

Если вы не знаете, как называется пакет, вы можете выполнить поиск в установленных пакетах с помощью флага -Qs.

pacman -Qs строка

Обязательно замените строку вашим поисковым запросом. Будет произведен поиск как по именам, так и по описаниям пакетов, поэтому вы легко найдете то, что ищете.

В последнее время новые версии ядер выходят достаточно часто. Раз в несколько месяцев выходит стабильный релиз. Ну а нестабильные кандидаты в релизы выходят и того чаще. Линус Торвальдс и множество разработчиков по всему миру постоянно работают над улучшением новых ядер и добавлением в них все больше и больше функциональности.

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

Обновление ядра Ubuntu вручную

Давайте сначала посмотрим какое ядро у вас установлено. Для этого откройте терминал и выполните:


Например, у меня сейчас используется версия 5.4, и я могу обновиться к самой новой версии. Разработчики Ubuntu уже позаботились о том чтобы их пользователи не собирали ядро вручную и сделали deb пакеты новой версии ядра. Их можно скачать с официального сайта Canonical.

kernel-ppa/mainline/. Здесь находятся все, собираемые командой Ubuntu ядра.

Пролистайте вниз, именно там находятся более новые версии ядер:


Кроме того, в самом верху есть папка daily/current, в которой находятся самые свежие, ночные сборки ядер. Выберите нужную версию ядра, затем выберите архитектуру. Для 64-битных систем вам понадобится архитектура amd64:

Далее надо скачать четыре файла: два linux-headers, linux-image и linux-modules. Как видите, там есть несколько типов ядер: lowlatency и generic. Ядро lowlatency судя из названия имеет более низкие задержки при работе с прерываниями. Зато ядро generic имеет большую пропускную способность. В большинстве случаев достаточно ядра generic. Скачайте linux-headers для all и generic, а также linux-image-generic и linux-modules-generic:

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

dpkg -i linux-headers* linux-image* linux-modules*

Если эта команда не сработала, можно пойти другим путем. Установите утилиту gdebi:

sudo apt install gdebi

Затем с помощью нее установите ядро:

sudo gdebi linux-headers*.deb linux-image-*.deb linux-modules-*.deb

Ядро установлено, осталось обновить загрузчик:

Теперь можно перезагружать компьютер и смотреть что получилось. После перезагрузки убедимся, что обновление ядра Linux до самой новой версии прошло успешно:


Как видите ядро успешно установлено и работает. Но не спешите удалять старую версию ядра, рекомендуется иметь несколько версий ядра в системе, чтобы в случае неполадок иметь возможность загрузиться со старой рабочей версии. Если вы хотите настроить автоматическое обновление ядра в Ubuntu - используйте утилиту UKKU.

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

А чтобы восстановить работу системы выберите пункт Advanced options for Ubuntu в меню Grub:

kernel12

И запустите предыдущее работающее ядро:

kernel13

После загрузки останется удалить неверно установленное ядро и еще раз обновить Grub. Найдите точное имя пакета ядра с помощью apt search. Например:

sudo apt search linux-headers-5.8

Затем удалите этот пакет:

Аналогично надо поступить с ядром. После этого обновите конфигурацию Grub:

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

Обновление ядра Linux до в CentOS

А теперь давайте рассмотрим как обновить ядро Linux самой новой версии в CentOS. Инструкция проверена на CentOS 8, но скорее всего, будет работать и на RHEL 8, Fedora и других подобных дистрибутивах.

Как правило, новые ядра не включены в официальные репозитории CentOS, поэтому чтобы получить последнюю стабильную версию нам необходимо будет добавить репозиторий ELRepo. Это репозиторий коммерческих пакетов (Enterprise Linux Packages) он также поддерживается в RHEL и Fedora.

Для добавления репозитория сначала необходимо импортировать ключ:

Для того чтобы добавить репозиторий и необходимые компоненты в RHEL 7 и CentOS 7 выполните:

В CentOS 8 выполните:


Готово, теперь посмотрим текущую версию ядра:

Можем устанавливать самую новую версию ядра Linux командой:

sudo yum --enablerepo=elrepo-kernel install kernel-ml


Пакет kernel-ml, это текущий стабильный mainline релиз, на данный момент, это 5.8. После того как установка нового ядра Linux завершена, обновите конфигурационный файл загрузчика:

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Затем можете перезагружать систему. Обновление ядра в CentOS завершено.

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

yum remove kernel-ml -y

dnf remove kernel-ml -y

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

Выводы

В этой инструкции мы рассмотрели как обновить ядро Linux до 4.4 в Ubuntu и CentOS, но мы говорили только об обновлении ядра из бинарников. Также можно собрать ядро из исходных кодов, которые доступны для загрузки на официальном сайте ядра. О сборке ядра Linux я писал в отдельной статье. Вроде все разобрали, если остались вопросы - пишите в комментариях.



Оцените статью:

(7 оценок, среднее: 5,00 из 5)

Об авторе

21 комментарий

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

Система Минт 17.3 Роза, ядро 3.16. Делаю все как описано в статье - после рестарта ядро 3.16. Иду в диспетчер обновлений, вижу предлагаемые ядра для обновления, 4-ки нет ни одной, рекомендуемое ядро 3.19, устанавливаю - работает, 3.16 убиваю. Ошибок нигде не выдавало. Остался пока без 4.4.

Выполните в место: sudo dpkg -i linux*.deb - sudo dpkg -i *.deb И выполнять команду обязательно в папке, в которую были загружены установочные пакеты.

Установил ядро 4.4, но слетел Вайфай, запустить не смог, пока откатился на старое ядро.

Да у меня такая же беда, обновился на 4.2 правда, было 3.19. Теперь вай фай с блютузом, не запускаются, пока остался на 3.19.

Подожду уже выхода Ubuntu 16.04 посмотрим, что будет в релизе, должны пофиксить по идее.

Ребзя а чего у меня не хочет обновлять? Сейчас стоит на VPS Ubuntu Xenial (16.04 LTS) (GNU/Linux 4.5.7-std-3 x86_64). Пробую обновить до 4.7.3 и ошибку пишет:

Selecting previously unselected package linux-headers-4.7.3-040703-generic.
(Reading database . 20139 files and directories currently installed.)
Preparing to unpack linux-headers-4.7.3-040703-generic_4.7.3-040703.201609070334_amd64.deb .
Unpacking linux-headers-4.7.3-040703-generic (4.7.3-040703.201609070334) .
Selecting previously unselected package linux-image-4.7.3-040703-generic.
Preparing to unpack linux-image-4.7.3-040703-generic_4.7.3-040703.201609070334_amd64.deb .
Done.
Unpacking linux-image-4.7.3-040703-generic (4.7.3-040703.201609070334) .
dpkg: dependency problems prevent configuration of linux-headers-4.7.3-040703-generic:
linux-headers-4.7.3-040703-generic depends on linux-headers-4.7.3-040703; however:
Package linux-headers-4.7.3-040703 is not installed.

dpkg: error processing package linux-headers-4.7.3-040703-generic (--install):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of linux-image-4.7.3-040703-generic:
linux-image-4.7.3-040703-generic depends on initramfs-tools | linux-initramfs-tool; however:
Package initramfs-tools is not installed.
Package linux-initramfs-tool is not installed.

dpkg: error processing package linux-image-4.7.3-040703-generic (--install):
dependency problems - leaving unconfigured
Errors were encountered while processing:
linux-headers-4.7.3-040703-generic
linux-image-4.7.3-040703-generic

Коллекция материалов по работе с системой Linux С наступающим Новым годом!

пятница, 28 августа 2015 г.

Как обновить ядро Linux для улучшенной производительности системы


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

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

Дисклеймер: вы должны знать, что обновление ядра несет (небольшой) риск сломать вашу систему. Если это вдруг произошло, обычно при загрузке системы достаточно выбрать старое ядро, и система загрузится, но что-то всегда может пойти не так. Поэтому мы не ответственны за какие-либо повреждения вашей системы - используйте наши инструкции на свой страх и риск!

Подготовительная работа:


Чтобы обновить ваше ядро, сначала вам нужно определить, какую систему вы используете - 32-битную или 64-битную. Откройте новое окно терминала (чтобы сделать это, используйте комбинацию клавиш Ctrl+Alt+T) и выполните в нем следующую команду:

Затем проверьте вывод команды - написано ли там x86_64 или i686. Если это x86_64, тогда у вас 64-битная версия системы, в иных случаях вы работаете с 32-битной системой. Запомните это, потому что это будет важно.

Теперь посетите официальный веб-сайт ядра Linux. Это поможет вам узнать, какая сейчас текущая стабильная версия ядра. Конечно, вы можете попробовать релиз-кандидат версии, но они намного менее тестированы, чем стабильные. Устанавливайте стабильную версию, если только вы не полностью уверены, что вам нужен RC(релиз-кандидат)-релиз.

Инструкции для Ubuntu :

П ользователям Ubuntu и дистрибутивов, основанных на ней, достаточно просто обновить их ядро благодаря PPA-репозиторию под названием Ubuntu Mainline Kernel PPA. Хотя это официально называется PPA-репозиторем, вы не можете добавить его в вашу систему, добавляя его в список источников приложений и позволяя ему автоматически загружать и обновлять ядро для вас. Это просто веб-страница, на которую вы можете зайти, чтобы загрузить то ядро, которое хотите.


Теперь посетите веб-страницу PPA для ядер и пролистайте ее до конца. В самом конце списка вы, возможно, увидите некоторые релиз-кандидат версии (вы можете определить их по "rc" в названии), а прямо сверху них должно быть последнее стабильное ядро. Кликните по нему, и вам будет предложено несколько опций. Вам нужно скачать три файла и сохранить их в собственной папке, чтобы они были изолированы от других файлов (например, вы можете создать папку в папке с загрузками):

Вы также можете заметить, что для загрузки доступны и файлы "lowlatency", но их можно проигнорировать. Эти файлы обычно относительно нестабильны и делаются доступны специально для людей, которым нужны небольшие задержки, если обычные файлы не подходят для задач, таких как запись аудио. Изначально всегда используете generic-файлы и пробуйте lowlatency только в том случае, если производительность недостаточно хороша для некоторых задач. И нет, игры или веб-серфинг не являются причинами для использования lowlatency.


Вы поместили эти файлы в собственную папку, верно? Теперь откройте терминал и используйте команду cd, чтобы перейти в свежесозданную папку - например, ваша команда может выглядеть как-то так:

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

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

Инструкции для Fedora :

Если вы используете дистрибутив Fedora или одну из ее производных, процесс будет очень похож на тот, что используется в Ubuntu. Вам просто нужно будет загружать файлы из другого места, а устанавливать их другой команды.

Просмотрите список самых последних сборок ядра для Fedora. Выберите последнюю доступную версию в списке и затем определитесь с версией - i686 или x86_64 - в зависимости от архитектуры вашей системы. В этой секции вам потребуется загрузить следующие файлы и сохранить их в собственной папке (например, вы можете создать директорию "Kernel" внутри вашей папки Downloads)

  • kernel
  • kernel-core
  • kernel-headers
  • kernel-modules
  • kernel-modules-extra
  • kernel-tools
  • perf и python-perf (дополнительно)

Если ваша система i686 (32-bit), и у вас четыре и больше гигабайт оперативной памяти, вам потребуется загрузить PAE-версию для всех этих файлов, если это доступно. PAE - это технология адресации, которая используется для того, чтобы позволять 32-битным системам использовать более 3 гигабайт оперативной памяти.

Теперь используйте команду cd, чтобы перейти к созданной папке, например:

и затем выполните следующую команду, чтобы установить все эти файлы в вашей системе:

Наконец, перезапустите компьютер, и после перезагрузки вы уже должны работать с новым ядром!

Использование Rawhide :

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

Инструкции для Arch Linux :

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

Чтобы сделать это, откройте файл /etc/pacman.conf с root-правами в вашем любимом текстовом редакторе, и затем раскомментируйте (удалите символы в начале каждой строки) три строки, которые связаны с тестированием. Если у вас включен репозиторий multilib, сделайте то же самое для репозитория multilib-testing. Смотрите эту вики-страницу Arch Linux, если вам потребуется больше информации об этом процессе.

Обновить ядро Linux не так просто (особенно если делать это постоянно), но это может дать вам множество преимуществ. Если ваше новое ядро ничего не сломало, теперь вы можете наслаждаться улучшенной производительностью, лучшей эффективностью, поддержкой большего количества оборудования и, возможно, новыми возможностями. Обновление ядра особенно может помочь вам, если вы работаете с относительно новым оборудованием.

Комментариев нет:

Поиск по этому блогу

Понравилось?Поделись с друзьями!

Архив блога



Viber является кросс-платформенным приложением (iPhone, Android, Windows Phone, Blackberry, Windows, Mac, Symbian, Nokia и устройства .



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



Читайте также: