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

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

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

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

apt-get update
apt-get install update-kernel

update-kernel

или, если хотите обновить/установить другой тип ядра (например un-def):

update-kernel -t un-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