Modprobe: "Неверный формат узла", но работает после insmod
У меня проблема с Ubuntu 12.04, который неправильно распознает пользовательский модуль ядра. Модуль ядра является подделкой raw1394
, Так что программы, которые ищут наличие raw1394
модуль в памяти все еще работает должным образом, хотя фактический модуль, который обрабатывает связь IEEE 1394/FireWire, отличается. Инструкции по созданию фиктивного модуля raw1394 находятся на wiki.sofa-framework.org.
Проблема в том, что для загрузки модуля ядра я должен использовать insmod
каждый раз.
Когда после перезагрузки я пытаюсь загрузить raw1394
Модуль ядра Я получаю следующее сообщение об ошибке:
$ sudo modprobe raw1394
FATAL: Error inserting raw1394 (/lib/modules/3.5.0-51-generic/misc/raw1394.ko): Invalid module format
Однако, если я запускаю следующую последовательность команд, все работает нормально:
$ sudo insmod raw1394.ko
$ sudo modprobe raw1394
Я не вижу, как это может быть проблема с несовпадающей версией:
$ uname -a
Linux mech801 3.5.0-51-generic #77~precise1-Ubuntu SMP Thu Jun 5 00:48:28 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
Вот хэши MD5. Файлы имеют одинаковую длину, но я предполагаю, что insmod
должен что-то менять внутри, так как он вставляет модуль. Оба файла имеют размер 3274 байта.
$ md5sum /lib/modules/3.5.0-51-generic/misc/raw1394.ko ./raw1394.ko
ab06501bba1372f57115125bc7a24dfb /lib/modules/3.5.0-51-generic/misc/raw1394.ko
c3c3d2b4e2fe174a76b90af33eefc5e0 ./raw1394.ko
Есть ли что-то, что мне не хватает, что вызывает это Invalid module format
проблема?