Я пытаюсь создать новую переменную в определении task_struct в sched.h
для использования в моей программе. После изменения и компиляции мышь перестает работать.добавить новую переменную в task_struct (sched.h) портит мышь LINUX KERNEL
В /dev/input
не отображается mouse0
, хотя позвольте мне сделать cat /mice
, но это абсолютно ничего не представляет. Я использую виртуальную коробку и показывает, что мышь читает правильно.
Когда я вижу сообщения в dmesg, dmesg | grep mouse
показывает мне следующие сообщения: psmouse: About disagrees version of symbol module_layout
struct task_struct {
volatile long state; /* -1 unrunnable, 0 runnable, >0 stopped */
void *stack;
atomic_t usage;
unsigned int flags; /* per process flags, defined below */
unsigned int ptrace;
int tipo;//my variable
...
Должен ли я изменить что-то еще в каком-то другом файле?
Может быть, вы можете найти что-то полезное [здесь] (http://unix.stackexchange.com/questions/125624/неспособный к загрузке-модуль-несогласие-о-версии-символа-модуль-макет). Вероятно, ваш модуль скомпилирован с использованием старого 'task_struct'. Восстановление ядра и модулей должно исправить это ... – dragosht
Большое спасибо, теперь отлично работает. PD. Как мне закрыть этот вопрос? –
Как правило, ваш комментарий, который четко описывает эту проблему, является достаточным. Вы также можете ответить на вопрос ([selfanswer] (http://stackoverflow.com/help/self-answer)) и принять его. Таким образом, вопрос будет рассматриваться на сайте как принятый ответ, что упрощает поиск неотвеченных вопросов. Таким образом, это предпочтительный способ. Кроме того, предоставляя ответ, вы получите репутацию, когда кто-то повысит его (найдет это полезным). – Tsyvarev