Ошибка при использовании 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
и установить их.