Должен ли я обновить ядро до "основной линии"?
Более новые "основные" версии ядра доступны от команды ядра Ubuntu, например, 3.4 и 3.5, в то время как Ubuntu 12.04 - на 3.2.
- Каковы основные ядра?
- Они лучше моего существующего ядра?
- Каковы плюсы и минусы обновления до основного ядра?
- Смогу ли я легко вернуться?
4 ответа
Обновление до основного ядра обычно не очень хорошая идея
Большая часть основной информации в этом ответе взята из Mainline Builds wiki
1. Они предоставляются только для тестирования и не поддерживаются
- Основные ядра построены из последних неизмененных "основных" исходных кодов ядра Linux.
- Команда ядра Ubuntu предоставляет их только для целей тестирования и отладки, чтобы увидеть, были ли исправлены проблемы "вверх по потоку", то есть разработчиками ядра Linux.
- Поэтому они не поддерживаются и должны использоваться на свой страх и риск; вы можете сообщить о возможных ошибках на kernel.org через kernel-oops, или, если вы хотите более быстрое решение, попробуйте опубликовать в списке рассылки ядра Linux
2. Они часто ломают драйверы, особенно Nvidia/AMD и беспроводные (Broadcom)
- Основные ядра не содержат драйверов или исправлений, предоставляемых Ubuntu
- Это означает, что двоичные драйверы для графики, беспроводной связи и т. Д. Не предоставляются.
- Если вы попытаетесь установить бинарные драйверы, загруженные напрямую от производителей, очень вероятно, что они не будут работать, потому что заголовки магистрали могут быть несовместимы.
- Это будет особенно актуально для версий не-LTS после 12.04 (12.10, 13.04, ...), потому что основные ядра построены с использованием последнего набора инструментов LTS (компиляторов и т. Д.), Который обычно старше, чем набор инструментов в последних не LTS релиз.
3. Их следует устанавливать только в том случае, если вы считаете, что они могут решить критическую проблему, которая возникает у вас с текущим ядром.
- Более новые ядра иногда содержат исправления для проблем с оборудованием или файловой системой, которые могут у вас возникнуть. Например, внутренняя графика HD4000 на последних процессорах Intel Ivy Bridge иногда зависала, ошибка, которая была исправлена в ядрах 3.3.6 и новее.
- Вы можете попробовать установить ядро mainline в этих обстоятельствах и посмотреть, поможет ли это вашей проблеме.
- Если это произойдет, вам следует рассмотреть возможность обновления до новейшего ядра Ubuntu+1, для которого имеются бинарные драйверы.
4. Если вы устанавливаете mainline или другое более новое ядро, вы все равно можете использовать старое (стабильное) ядро, выбрав его во время загрузки:
- Удерживайте нажатой клавишу Shift после включения компьютера.
Вы увидите меню Grub, как показано ниже. Используйте стрелку вниз, чтобы перейти к "Предыдущие версии Linux" и нажмите Enter
Выберите опцию с версией xxx-generic, а НЕ с версией xxx- yyyyyy -generic и нажмите Enter. Обычно это первый вариант, если вы не установили несколько основных / пользовательских ядер.
Вместо основной линии, вы должны рассмотреть LTS-стек включения
https://wiki.ubuntu.com/Kernel/LTSEnablementStack
Где более новое ядро / графический стек официально перенесен в бэкпорт, только для релизов LTS Ubuntu.
В этом случае Precise 12.04.5 имеет ядро Trusty (3.13)
Если вы знаете о конкретном исправлении или улучшении того, как более новое ядро обрабатывает ваше оборудование, я скажу, что сделайте это.
Я бы не перешел на основное ядро из-за отсутствия поддержки, за исключением того, что у меня возникли некоторые проблемы с эмуляцией игры N64, работающей очень медленно с большим количеством ошибок. Попробовав каждую конфигурацию, которую я смог найти для эмулятора, а также xorg, я прочитал " Вот почему Radeon Graphics быстрее в Linux 3.12". Этого было достаточно, чтобы мотивировать меня на его тестирование, и результаты по внешнему виду и производительности были поразительными, никаких новых проблем пока не возникало.
Следует обратить внимание на то, установлены ли у вас внешние модули (иначе говоря, вне дерева) (см. Раздел Определение модулей из дерева, чтобы понять, где они находятся). Если вам нужны эти модули, подумайте, будут ли они собираться с новой версией ядра. Проведите небольшое исследование и протестируйте их самостоятельно на новой версии ядра. В худшем случае вы можете загрузить предыдущую версию ядра и удалить новую.
Рекомендуется удалить внешние или проприетарные модули перед попыткой обновления до основного ядра. Мне пришлось удалить virtualbox, чтобы избежать "Ошибка! Неверный статус возврата для сборки модуля" во время установки ядра.
Абсолютно нет, за исключением целей тестирования. Буквально вчера (15.09.2021) я установил ядро 5.14.4 (система: Ubuntu 20.04) и столкнулся со следующим действительно странным поведением: в моих PHP-кодах вызов set_time_limit(0) привел к тому , что max_execution_time было установлено на 0 секунд . !
Это всего лишь одна ошибка, которую я встречал, но я уверен, что их гораздо больше. Подводя итог, я не рекомендую устанавливать основные ядра.