Ошибка при использовании insmod "Не удалось вставить модуль hello_world.ko: неверный формат модуля"

Я пытаюсь создать модуль ядра hello_world, используя C и Bash на Raspberry Pi.

Я успешно использовал команду make для генерации hello_world.ko файл.

Тем не менее, когда я пытаюсь использовать insmod hello_world.ko Команда, я получаю следующую ошибку:

Ошибка: не удалось вставить модуль hello_world.ko: неверный формат модуля

Я попытался выполнить шаги, описанные на форуме Raspberry Pi, но мне не повезло.

Я думаю, что это может быть связано с несовпадением версий моего ядра и заголовков Linux. Какую роль играют эти заголовки в этом процессе и как получить версии, соответствующие моему ядру?

1 ответ

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

     uname -r

после этого проверьте репо на наличие заголовков linux:

    sudo apt-cache search linux-headers

и установить их.

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