心若在梦就在

心若在梦就在

4个粉丝

10

问答

0

专栏

0

资料

心若在梦就在  发布于  2023-08-24 16:59:25
采纳率 50%
10个问答
412

insmod: can't insert 'hello_drv.ko': invalid modul

我在写一个驱动测试程序,ko文件是在Ubuntu上编译的,然后把ko文件放在板子上insmod后报错:
insmod: can’t insert ‘hello_drv.ko’: invalid module。
应该是编译的Ubuntu内核版本5.4.0-150-generic和板子的内核版本4.19.90不一致导致的,请问该如何解决这个问题能在板子上加载运行驱动程序?
Ubuntu上的makefile文件如下:

Linux kernel 文件所在路径

使用 $(shell uname -r) 获取现在使用的 kernel 版本号

KDIR := /lib/modules/$(shell uname -r)/build

获取当前目录

PWD:=$(shell pwd)

编译 hello_driver, 生成的 hello_driver.o 源于 hello_driver.c

obj-m := hello_drv.o

编译成模块,下面的语句都是模版,

大意是将 PWD 下编写的驱动文件移至 KDIR 目录中,联合编译,生成 modules

all:
make -C $(KDIR) M=$(PWD) modules

clean:
make -C $(KDIR) M=$(PWD) clean

我来回答
回答3个
时间排序
认可量排序

UncleRoderick

32个粉丝

14

问答

1

专栏

14

资料

UncleRoderick 2023-08-24 17:09:49
认可0
易百纳技术社区该回答已被题主采纳为最佳答案

这个编译的ko是给你的ubuntu用的,给板子用的要交叉编译,内核路径用SDK里面的,而且得是编译过的

心若在梦就在

4个粉丝

10

问答

0

专栏

0

资料

心若在梦就在 2023-08-24 17:33:27
认可0

引用 @UncleRoderick “这个编译的ko是给你的ubuntu用的,”

哦,那怎样修改上面的makefile文件呢?修改KDIR :=SS928V100_SDK_V2.0.2.1/open_source/linux/linux-4.19.y编译make后
make -C /home/vm/Desktop/GK76081/source/SS928V100_SDK_V2.0.2.1/open_source/linux/linux-4.19.y M=/home/vm/Desktop/GK76081/source/SS928V100_SDK_V2.0.2.1/smp/a55_linux/mpp/sample/hello modules
make[1]: Entering directory ‘/home/vm/Desktop/GK76081/source/SS928V100_SDK_V2.0.2.1/open_source/linux/linux-4.19.y’
Makefile:615: arch/x86/Makefile: No such file or directory
make[1]: No rule to make target ‘arch/x86/Makefile’. Stop.
make[1]: Leaving directory ‘/home/vm/Desktop/GK76081/source/SS928V100_SDK_V2.0.2.1/open_source/linux/linux-4.19.y’
Makefile:14: recipe for target ‘all’ failed
make:
[all] Error 2

UncleRoderick
UncleRoderick   回复   心若在梦就在  2023-08-24 17:49:29
0

@$(MAKE) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) -C $(KERNELDIR) M=$(PWD) modules
参考这个把对应的参数改下试试

或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区