您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

insmod错误:插入'./hello.ko':-1无效的模块格式”

insmod错误:插入'./hello.ko':-1无效的模块格式”

从其构建内核模块和向其插入模块的内核应具有相同的版本。如果您不想照顾这件事,可以使用以下Makefile。

obj?m += hello?world.o

all:
 make ?C /lib/modules/$(shell uname ?r)/build M=$(PWD) modules
clean:
 make ?C /lib/modules/$(shell uname ?r)/build M=$(PWD) clean

现在,您可以构建并尝试插入模块。

我建议您尽可能在此行之前成为root

$ sudo cp /boot/config-2.6.38-8-generic ./.config

$su
#cp /boot/config-2.6.38-8-generic ./.config
#insmod hello_world.ko

另外,您也可以使用以下make文件

TARGET  := hello-world
WARN    := -W -Wall -Wstrict-prototypes -Wmissing-prototypes
INCLUDE := -isystem /lib/modules/`uname -r`/build/include
CFLAGS  := -O2 -DMODULE -D__KERNEL__ ${WARN} ${INCLUDE}
CC      := gcc-3.0

${TARGET}.o: ${TARGET}.c

.PHONY: clean

clean:
    rm -rf ${TARGET}.o
其他 2022/1/1 18:14:35 有587人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶