2015-12-03 22 views
0

我想在我的程序中使用sched.h中的task_struct的定义中创建一个新变量。一旦修改和编译鼠标停止工作。在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 
... 

我应该改变一些其他的文件别的东西吗?

+1

也许你可以找到[这里](一些有用的东西http://unix.stackexchange.com/questions/125624 /无法加载模块不同意符号版本的符号模块布局)。你的模块可能使用旧的'task_struct'进行编译。重建内核和模块应该修复... – dragosht

+0

非常感谢,现在完美地工作。 PD。我应该如何解决这个问题? –

+0

正常情况下,您的评论清楚地描述了该问题已得到解决,这已足够。您也可以提供问题答案([selfanswer](http://stackoverflow.com/help/self-answer))并接受它。这样的问题将被视为接受答案,这简化了搜索未解答的问题。所以,这是首选方式。另外,通过提供答案,当有人喜欢它时,你将获得声望(发现它有用)。 – Tsyvarev

回答

0

问题是模块,包括哪些控制鼠标,使用旧的task_struct进行编译。

要解决此问题,编译内核后必须重新编译模块。

使bzImage的

使模块

化妆modules_install

使安装