OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 13919|回复: 23

关于驱动模块加载问题,报错。。。

[复制链接]

7

主题

237

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1111
金钱
1111
注册时间
2019-5-6
在线时间
128 小时
发表于 2019-11-20 15:02:12 | 显示全部楼层 |阅读模式
1金钱
手册中P1011说:

从图 40.4.4.2 可以看出, modprobe 提示无法打开“modules.dep”这个文件,因此驱动挂载
失败了。我们不用手动创建 modules.dep 这个文件,直接输令 depmod 命令即可自动生成
modules.dep,有些根文件系统可能没有 depmod 这个命令,如果没有这个命令就只能重新配置
busybox,使能此命令,然后重新编译 busybox。输入“depmod”命令以后会自动生成 modules.alias、
modules.symbols 和 modules.dep 这三个文件,如图 40.4.4.3 所示:

可是我在开发板运行终端:目录 /lib/modules/4.1.15


                                    输入:depmod  
                                    4.1.15目录下并未生成   modules.alias、modules.symbols 和 modules.dep
                                    也没提示报错
我观察开发板系统下:             有个/lib/modules/4.1.15-g49efdaa该目录下有:modules.alias、modules.symbols 和 modules.dep
                                  将上述3个文件拷贝到4.1.15文件下
                                   执行:modprobe beep.ko
                                   仍然报错:modprobe:FATAL:Module beep.ko not found in directory /lib/modules/4.1.15-g49efdaa

最佳答案

查看完整内容[请看2#楼]

这个是现在你开发板上的跑的内核不是您编译的驱动的内核版本,你这个内核版本,看版本号应该是原子发布的,你用的是原子编译好的内核,而您自己编译模块用的内核源码,您没有编译。最好的话在你编译完模块的时候,可以编译一下内核,并替换板子上的内核。 那么可以按照下面的方法解决: 参考这两个链接的 http://www.openedv.com/forum.php ... 3237&extra=page%3D1 http://www.openedv.com/forum.php ... 3260&extra=page%3 ...
一步一个脚印
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

9

主题

890

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
2394
金钱
2394
注册时间
2019-9-25
在线时间
398 小时
发表于 2019-11-20 15:02:13 | 显示全部楼层
本帖最后由 仰望星空之云 于 2019-12-3 21:36 编辑

这个是现在你开发板上的跑的内核不是您编译的驱动的内核版本,你这个内核版本,看版本号应该是原子发布的,你用的是原子编译好的内核,而您自己编译模块用的内核源码,您没有编译。最好的话在你编译完模块的时候,可以编译一下内核,并替换板子上的内核。
那么可以按照下面的方法解决:
参考这两个链接的
http://www.openedv.com/forum.php ... 3237&extra=page%3D1

http://www.openedv.com/forum.php ... 3260&extra=page%3D1
另外,执行modprobe beep看看,后面不要加.ko

回复

使用道具 举报

7

主题

237

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1111
金钱
1111
注册时间
2019-5-6
在线时间
128 小时
 楼主| 发表于 2019-11-20 15:03:34 | 显示全部楼层
顶上去,有什么解决方法吗?还是我得用busybox重新配置下??
一步一个脚印
回复

使用道具 举报

6

主题

1127

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1656
金钱
1656
注册时间
2019-8-15
在线时间
102 小时
发表于 2019-11-20 15:43:47 | 显示全部楼层
帮顶         
成功没有捷径
回复

使用道具 举报

7

主题

237

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1111
金钱
1111
注册时间
2019-5-6
在线时间
128 小时
 楼主| 发表于 2019-11-20 16:01:57 | 显示全部楼层
一步一个脚印
回复

使用道具 举报

6

主题

1127

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1656
金钱
1656
注册时间
2019-8-15
在线时间
102 小时
发表于 2019-11-20 16:09:13 | 显示全部楼层

帮顶         
成功没有捷径
回复

使用道具 举报

7

主题

237

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1111
金钱
1111
注册时间
2019-5-6
在线时间
128 小时
 楼主| 发表于 2019-11-20 16:10:51 | 显示全部楼层
实测:在开发板运行:。。。。。  /lib/modules/4.1.15  #depmod
          结果modules.alias、modules.symbols 和 modules.dep 在目录/lib/modules/4.1.15-g49efdaa下面生成
         这是什么鬼???
         然后运行:modprobe beep.ko        
         结果:仍然爆modprobe:FATAL:Module beep.ko not found in directory /lib/modules/4.1.15-g49efdaa
         可是:moduprobe.dep 文件里已经有beep.ko了。。。这是什么梗
        
一步一个脚印
回复

使用道具 举报

7

主题

237

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1111
金钱
1111
注册时间
2019-5-6
在线时间
128 小时
 楼主| 发表于 2019-11-20 16:13:14 | 显示全部楼层
/lib/modules/4.1.15-g49efdaa
这个文件夹怎么弄的
一步一个脚印
回复

使用道具 举报

5

主题

41

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
436
金钱
436
注册时间
2015-3-27
在线时间
127 小时
发表于 2019-11-20 16:47:46 | 显示全部楼层
zhangbing12304 发表于 2019-11-20 16:13
/lib/modules/4.1.15-g49efdaa
这个文件夹怎么弄的

这个文件夹没有的话手动生成一下,然后.ko文件放进去
回复

使用道具 举报

7

主题

237

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1111
金钱
1111
注册时间
2019-5-6
在线时间
128 小时
 楼主| 发表于 2019-11-21 09:47:12 | 显示全部楼层
有梦为马 发表于 2019-11-20 16:47
这个文件夹没有的话手动生成一下,然后.ko文件放进去

嗯,是手动放进去了,可是一编译还是出现:
modprobe:FATAL:Module beep.ko not found in directory /lib/modules/4.1.15-g49efdaa
一步一个脚印
回复

使用道具 举报

7

主题

237

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1111
金钱
1111
注册时间
2019-5-6
在线时间
128 小时
 楼主| 发表于 2019-11-21 09:48:03 | 显示全部楼层
有梦为马 发表于 2019-11-20 16:47
这个文件夹没有的话手动生成一下,然后.ko文件放进去

而且我看moduprobe.dep确实添加,但是创建设备节点又报错
一步一个脚印
回复

使用道具 举报

7

主题

237

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1111
金钱
1111
注册时间
2019-5-6
在线时间
128 小时
 楼主| 发表于 2019-11-24 07:10:09 | 显示全部楼层
我这个问题怎么解决,亲们??
一步一个脚印
回复

使用道具 举报

7

主题

237

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1111
金钱
1111
注册时间
2019-5-6
在线时间
128 小时
 楼主| 发表于 2019-11-24 07:13:56 | 显示全部楼层
@仰望星空之云  版主看看
一步一个脚印
回复

使用道具 举报

9

主题

779

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
5326
金钱
5326
注册时间
2019-9-25
在线时间
442 小时
发表于 2019-12-3 22:12:13 | 显示全部楼层
1.原子哥发布的出厂内核是带版本号的。你的beep驱动文件应该指定资料下的开发板光盘A-基础资料\1、例程源码\3、正点原子修改后的Uboot和Linux。用这个下面的内核目录来编译你的模块。最好用同一个交叉编译工具链,出厂用的交叉编译工具链是快速体验文档里面第四章里面写的。你可以去看看。
2.由于文件系统的差异,你不能用modprode去加载beep.ko,一般用modprode去加载的是已经在内核里“声明”过,一起编译过的驱动。并不是说把它放到/lib/modules下就可以用这个modprode去加载的了,因为它们编译的时候是有“关系”。
3.一般你单独编译的模块用insmod beep.ko,beep.ko放在当前目录下就可以了,而modprode这个指令是会去找/lib/modules/4.1.15xxx/下的“beep”模块名字,不用加"ko"。编译内核时已经告诉过内核它是编译成驱动模块的了。要整个模块一起编译替换那种才可以。
4.所以说,自己写,你要把它添加到内核配置菜单里,编译成模块,整体放到/lib/moudles/这个目录下,内核版本与模块版本对应时,开机就会自动加载的了,不用你再用modprode与insmod指令去加载!
5.不知道说的明不明白,自己多琢磨。
想思考的时候,有时还可以用屁股,QQ 1252699831
回复

使用道具 举报

7

主题

237

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1111
金钱
1111
注册时间
2019-5-6
在线时间
128 小时
 楼主| 发表于 2019-12-4 14:06:05 | 显示全部楼层
茂茂2019 发表于 2019-12-3 22:12
1.原子哥发布的出厂内核是带版本号的。你的beep驱动文件应该指定资料下的开发板光盘A-基础资料\1、例程源码 ...

讲解透彻感谢啊,我弄弄兄弟
一步一个脚印
回复

使用道具 举报

7

主题

237

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1111
金钱
1111
注册时间
2019-5-6
在线时间
128 小时
 楼主| 发表于 2019-12-4 14:17:03 | 显示全部楼层
仰望星空之云 发表于 2019-12-3 21:31
这个是现在你开发板上的跑的内核不是您编译的驱动的内核版本,你这个内核版本,看版本号应该是原子发布的, ...

我好像有点明白了,我用的内核是资料中NXP官方的,在ubuntu环境下对官方的内核进行了编译,再后又编译的BEEP生成beep.ko;而开发板出厂时的内核版本是原子更改过后的内核。
一步一个脚印
回复

使用道具 举报

13

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
130
金钱
130
注册时间
2017-11-1
在线时间
18 小时
发表于 2020-3-17 10:50:28 | 显示全部楼层
本帖最后由 greentea 于 2020-3-17 10:57 编辑
茂茂2019 发表于 2019-12-3 22:12
1.原子哥发布的出厂内核是带版本号的。你的beep驱动文件应该指定资料下的开发板光盘A-基础资料\1、例程源码 ...

我用的是同样的交叉编译器来编译 驱动和uboot和Linux,还是会出现以下问题。

使用 开发板光盘A-基础资料V1.2\1、例程源码\2、Linux驱动例程\4_dtsled 出现以下问题。

root@ATK-IMX6U:/lib/modules/4.1.15# depmod
depmod: WARNING: could not open /lib/modules/4.1.15/modules.order: No such file or directory
depmod: WARNING: could not open /lib/modules/4.1.15/modules.builtin: No such file or directory
root@ATK-IMX6U:/lib/modules/4.1.15# ls
dtsled.ko  modules.alias      modules.builtin.bin  modules.dep.bin  modules.softdep  modules.symbols.bin
ledApp           modules.alias.bin  modules.dep           modules.devname  modules.symbols





具体用到的相关文件有:

1)u-boot 和 linux 使用的是开发板光盘A-基础资料\1、例程源码\11、开发板教程对应的uboot和linux源码。
uboot-imx-rel_imx_4.1.15_2.1.0_ga_alientek.tar.bz2
linux-imx-rel_imx_4.1.15_2.1.0_ga_alientek.tar.bz2
2)系统镜像 开发板光盘A-基础资料\8、开发板系统镜像

fsl-image-qt5-v1.3.tar.bz2

3)交叉编译器使用的是
gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz
4)使用SD卡启动,已经烧写了1)中 的u-boot (nand 版)t; 使用1)中的 zImage , tftp 方式启动; 使用2)中的系统镜像 在ubuntu中挂载。



回复

使用道具 举报

9

主题

779

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
5326
金钱
5326
注册时间
2019-9-25
在线时间
442 小时
发表于 2020-3-17 10:56:33 | 显示全部楼层
greentea 发表于 2020-3-17 10:50
使用 开发板光盘A-基础资料V1.2\1、例程源码\2、Linux驱动例程\4_dtsled 出现以下问题。

root@ATK-I ...

你先搞清楚模块与内核版本的对应关系先。还要同一个编译器
想思考的时候,有时还可以用屁股,QQ 1252699831
回复

使用道具 举报

13

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
130
金钱
130
注册时间
2017-11-1
在线时间
18 小时
发表于 2020-3-17 12:34:41 | 显示全部楼层
本帖最后由 greentea 于 2020-3-17 12:39 编辑
茂茂2019 发表于 2020-3-17 10:56
你先搞清楚模块与内核版本的对应关系先。还要同一个编译器

模块编译用到内核 和 开发板启动的内核都是同一内核版本。 内核和模块用到 交叉编译器也是同一个编译器。
回复

使用道具 举报

9

主题

779

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
5326
金钱
5326
注册时间
2019-9-25
在线时间
442 小时
发表于 2020-3-17 14:31:14 | 显示全部楼层
greentea 发表于 2020-3-17 12:34
模块编译用到内核 和 开发板启动的内核都是同一内核版本。 内核和模块用到 交叉编译器也是同一个编译器。

那你有没有安装 模块了
想思考的时候,有时还可以用屁股,QQ 1252699831
回复

使用道具 举报

9

主题

779

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
5326
金钱
5326
注册时间
2019-9-25
在线时间
442 小时
发表于 2020-3-17 14:40:40 | 显示全部楼层
看一下快速体验手册里的编译内核与编译模块
想思考的时候,有时还可以用屁股,QQ 1252699831
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
14
金钱
14
注册时间
2020-5-18
在线时间
3 小时
发表于 2020-6-27 19:02:50 | 显示全部楼层
greentea 发表于 2020-3-17 10:50
我用的是同样的交叉编译器来编译 驱动和uboot和Linux,还是会出现以下问题。

使用 开发板光盘A-基础资 ...

请问一下,哥们这个问题到底是什么原因,我现在的问题跟你是一样的
回复

使用道具 举报

2

主题

11

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2023-3-22
在线时间
9 小时
发表于 2023-3-24 15:43:18 | 显示全部楼层
greentea 发表于 2020-3-17 10:50
我用的是同样的交叉编译器来编译 驱动和uboot和Linux,还是会出现以下问题。

使用 开发板光盘A-基础资 ...

+1,请问解决了吗?
回复

使用道具 举报

2

主题

11

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2023-3-22
在线时间
9 小时
发表于 2023-3-24 15:43:43 | 显示全部楼层
thread 发表于 2020-6-27 19:02
请问一下,哥们这个问题到底是什么原因,我现在的问题跟你是一样的

请问,解决了吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-19 06:52

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表