Почему попытки собрать модуль ядра дают мне символ & ldquo; -1 Unknown & rdquo; ошибка?

Недавно я приобрел Kinect для Windows и быстро обнаружил, что драйверы камер, включенные в ядро ​​Linux 3.0+, не совместимы с аппаратной версией Kinect для Windows. После просмотра исходного кода кажется, что крошечная модификация - это все, что требуется для совместимости, поэтому я пытался перекомпилировать драйвер - безрезультатно.

Я имел в виду эту статью и эту статью , хотя они немного устарели.

Когда я пытаюсь скомпилировать модуль, я получаю сообщение об ошибке, потому что заголовочный файл "gspca.h" не может быть найден в пути включения. Я нашел отсутствующий заголовок в моей файловой системе, но сам файл пуст. Я также попытался загрузить исходный код ядра (3.2.0-24-generic), что позволило мне скомпилировать модуль, но при загрузке модуля я получаю сообщение об ошибке.

-1 Unknown symbol in module

Есть ли стандартный способ сделать это без предварительной сборки ядра? Обеспечит ли сборка ядра возможность сборки модуля?

Спасибо

1
задан 11 June 2012 в 05:28

1 ответ

Есть ли стандартный способ сделать это без предварительной сборки ядра? Будет ли сборка ядра гарантировать, что я смогу собрать модуль?

  • Если вы получите эту ошибку, нет . Вы можете принудительно загрузить модуль, и он, скорее всего, будет работать, но вы не сможете отладить его, и этот метод не рекомендуется.

  • Ошибка возникает из-за того, что вам не хватает базы данных символов модуля module.symvers.

  • Единственный правильный способ генерации этого файла - выполнить полную сборку ядра - этот будет позволит вам собрать модуль.
  • Будьте очень осторожны, чтобы сконфигурировать ядро ​​в точном соответствии со стандартными спецификациями, если только вы не собираетесь устанавливать и запускать на встроенном ядре.
0
ответ дан 11 June 2012 в 05:28

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

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