Модуль отключен после обновления ядра

Я установил модуль, acpi_call, с make && sudo make install. Проблемой является модуль, больше не установлен, когда я обновляю ядро, я должен сделать make install снова. Почему этого не происходит с другими модулями, andhow я могу избежать этого?

0
задан 24 September 2016 в 02:14

2 ответа

Спасибо всем, я решил.

Используя пример, связанный CelticWarrior, я создал этот dkms.conf файл:

MAKE[0]="make"
CLEAN="make clean"
BUILT_MODULE_NAME[0]=acpi_call
# BUILT_MODULE_LOCATION[0]=./
DEST_MODULE_LOCATION[0]="/extra"
PACKAGE_NAME=acpi_call
PACKAGE_VERSION=1.0
REMAKE_INITRD=yes

DEST_MODULE_LOCATION требуется, как зарегистрировано в man dkms, несмотря на пример.

Затем я скопировал исходный код в /usr/src/acpi_call-1.0 и затем установил его с:

sudo dkms install -m acpi_call -v 1.0

Видят также документация kernel.org о внешних модулях - она документирует корректный способ создать make-файл для создания и установки внешнего модуля, и она говорит, что корректное местоположение для внешнего модуля находится под extra subdir.

1
ответ дан 28 September 2019 в 13:07

acpi_call не обычная программа, а модуль ядра. Модули ядра должны быть скомпилированы в определенную версию ядра, еще их считают несовместимыми и не загрузятся.

DKMS (Динамическая Система управления Ядра), будет управлять Вашими пользовательскими модулями ядра и перекомпилирует их в текущей рабочей версии ядра и сделает так автоматически каждый раз, когда Вы загружаете новую версию. Это также обновит initrd который является частью процесса программы начальной загрузки (названный начальной загрузкой). Уникальный initrd находится в Вашем /boot каталог для каждой уникальной версии ядра Вы установили.

Поскольку CelticWarrior указал, что можно прочитать подробные инструкции по установке для Ubuntu в: help.ubuntu.com/community/DKMS.

Сама страница проекта в: linux.dell.com/dkms/ и это содержат некоторые дополнительные ссылки, которые Вы найдете полезным.

Я использовал DKMS для хранения EnhanceIO (Жесткий диск к программе кэширования SSD, ранее используемой для серверов Facebook) актуальный. DKMS автоматически скомпилировал для различных версий ядра, и он работает очень хорошо. Обратите внимание на сообщения об ошибках, потому что параметры могут измениться между версиями ядра, и новые патчи исходного кода могут требоваться от github.

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

1
ответ дан 28 September 2019 в 13:07

Другие вопросы по тегам:

Похожие вопросы: