目标和模块的内核版本

art*_*sin 5 c linux linux-kernel

我正在尝试构建一个简单的内核模块并在Raspberry Pi上运行它.我已经下载了官方网站树莓内核源代码,但它们具有略微不同的内核版本,然后我在船上raspbian.是否有必要在源和目标机器上具有完全相同的内核版本来运行内核模块?我在我的Raspberry Pi上有这个

$ uname -a
Linux raspberrypi 4.4.11+ #888 Mon May 23 20:02:58 BST 2016 armv6l GNU/Linux
Run Code Online (Sandbox Code Playgroud)

关于我的模块

$ modinfo ./threads.ko 
filename:       /lib/modules/4.4.11+/kernel/mymodules/./threads.ko
version:        0.0.1
description:    Kernel threads example
author:         xxxxxx
license:        GPL
srcversion:     C906582EC824D2D8DA76BFB
depends:        
vermagic:       4.4.13+ mod_unload modversions ARMv6 
Run Code Online (Sandbox Code Playgroud)

如你所见:"4.4.11+"vs"4.4.13 +"......我为什么要问?插入模块时出错:

$ sudo insmod ./threads.ko
insmod: ERROR: could not insert module ./threads.ko: Invalid module format
Run Code Online (Sandbox Code Playgroud)

并且不明白,它在最后一个版本的内核中存在很大差异,或者存在另一个问题.

Jon*_*art 5

是否有必要在源和目标机器上具有完全相同的内核版本来运行内核模块?

是.