Как настроить для сборки модуля ядра, такого же, как загруженный

#linux #configuration #module #linux-kernel #kernel

#linux #конфигурация #модуль #linux-ядро #ядро

Вопрос:

Я пытаюсь изменить один из драйверов ядра Linux.

Но когда я попытался выполнить insmod, ядро продолжает выдавать сообщение об ошибке «неизвестный символ».

Я думаю, что я настроил что-то отличное от оригинала для сборки. 🙁

Итак, вот мой вопрос.

Как я могу настроить ту же конфигурацию, что и исходный модуль?

Есть ли какой-нибудь способ легко настроить для определенного образа ядра?

Комментарии:

1. Неизвестные символы предполагают, что вы используете любой символ, который может быть ФУНКЦИЕЙ или переменной в вашей программе-драйвере, который ядро не может найти при загрузке вашего модуля.

Ответ №1:

Есть две возможности для этой ошибки:

  1. Неизвестные символы предполагают, что вы используете любой символ, который может быть ФУНКЦИЕЙ или переменной в вашей программе-драйвере, который ядро не может найти при загрузке вашего модуля. когда вы выполняете insmod своего драйвера, выполните dmesg и посмотрите, какие все символы ядро не может найти. Возможно, что в вашей модификации драйвера вы по ошибке использовали какую-то переменную или функцию, которые нигде не определены. Ищите любые «внешние переменные» или любые орфографические ошибки в вашем измененном коде ;).

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

Неизвестные символы не являются проблемой конфигурации. Проблема с конфигурацией привела бы к другой ошибке.

Если вам нужна дополнительная помощь по этому вопросу, пожалуйста, вставьте вывод dmesg здесь..

С уважением.