【发布时间】:2016-06-21 03:36:45
【问题描述】:
我正在尝试构建一个简单的内核模块并在 Raspberry Pi 上运行它。我已经从官方 raspberry 网站下载了内核源代码,但它们的内核版本与我的 raspbian 略有不同。 是否需要在源机器和目标机器上拥有完全相同版本的内核才能运行内核模块?我的树莓派上有这个
$ uname -a
Linux raspberrypi 4.4.11+ #888 Mon May 23 20:02:58 BST 2016 armv6l GNU/Linux
关于我的模块
$ 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
如您所见:“4.4.11+”与“4.4.13+”... 我为什么要问?插入模块时出现错误:
$ sudo insmod ./threads.ko
insmod: ERROR: could not insert module ./threads.ko: Invalid module format
而且不明白,内核的最新版本号存在有价值的差异或者还有其他问题。
【问题讨论】:
标签: c linux linux-kernel