在 task_struct (sched.h) 中添加新变量破坏鼠标 LINUX KERNEL
add new variable in task_struct (sched.h) spoils the mouse LINUX KERNEL
我正在尝试在 sched.h
中 task_struct 的定义中创建一个新变量以在我的程序中使用。修改编译后鼠标停止工作
在/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
...
我应该更改其他文件中的其他内容吗?
问题是模块,包括控制鼠标的模块,是使用旧的task_struct编译的。
要解决此问题,您必须在编译内核后重新编译模块。
make bzImage
make modules
make modules_install
make install
我正在尝试在 sched.h
中 task_struct 的定义中创建一个新变量以在我的程序中使用。修改编译后鼠标停止工作
在/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
...
我应该更改其他文件中的其他内容吗?
问题是模块,包括控制鼠标的模块,是使用旧的task_struct编译的。
要解决此问题,您必须在编译内核后重新编译模块。
make bzImage
make modules
make modules_install
make install