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

Материал из ALT Linux Wiki

APT в дистрибутивах ALT Linux и в Sisyphus автоматом не обновляет ядра вместе с обновлением системы, поскольку обновление такого критичного компонента системы может привести к нежелательным последствиям. Вместо этого в систему могут быть поставлены пакеты нескольких ядер и модулей к разным ядрам одновременно.

Для ручного обновления ядра используется утилита update-kernel, находящаяся в одноимённом пакете. Пример использования:

apt-get update
apt-get install update-kernel
update-kernel -t std-def

Если не указывать ключом -t версию сборки ядра (std-def, un-def и т.п.), то обновится текущая версия сборки ядра.


Обычно перед обновлением ядра лучше обновить систему до соответствующего бренча

 apt-get dist-upgrade

В некоторых дистрибутивах apt, по-умолчанию, не содержит подключенных репозитариев. Для проверки и/или настройки можно воспользоваться утилитой apt-repo, или просто проверить и отредактировать конфиги в /etc/apt.

Обновление модулей ядра

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


Более редкая ошибка это установка модуля ядра другой сборочной ветки (std-def, un-def и т.п.) называемой в жаргоне флейвором (тип, вариант сборки ядра). Для предотвращения этого (если модуль есть только в другой ветке) надо перейти сначала на другую сборочную ветку с помощью команды update-kernel
 update-kernel -t <новый Flavour>

где <новый flavour> = std-def, un-def и т.п. См. kernel/Flavours

После этого уже можно обновлять модуль ядра, например, мы хотим перейти на ветку un-def и установить модуль fglrx:

update-kernel -t un-def
apt-get install kernel-modules-fglrx-un-def