OpenEdv-开源电子网
标题:
求助,通过insmod安装自定义模块后,无法卸载模块。
[打印本页]
作者:
wshgdzh123
时间:
2023-10-13 11:21
标题:
求助,通过insmod安装自定义模块后,无法卸载模块。
跟着教程写了一个FIFO模块,模块命名为cstfifo.ko,
通过insmod安装cstfifo.ko后,
在通过rmmod卸载模块,系统提示出错,通过多次尝试,更换模块之类的全都存在这个问题。(模块能正常使用,除了卸载)
通过使用lsmod进行查看,发现cstfifo这个模块是已经成功安装了的,只是不知道为什么Size 和 Used by为什么是-2。
借助网络进行查询(
linux - lsmod shows -2 in the “Used by” column - Unix & Linux Stack Exchange
),
说Used by之所以为-2是因为在linux内核进行编译的时候没有将CONFIG_MODULE_UNLOAD勾选上。
随后回去查看linux编译时的选项,发现这个宏是勾选上的,所以不是我要找的答案。
继续求助网络(
Linux内核模块文件名中的坑_内核编译各种坑_云帆清扬的博客-CSDN博客
),
找到一个跟我一模一样问题的人,也是Size和Used by都是-2。
但是他的问题是由于命名问题导致的,很明显我的没有该问题,但是给了我启发。
我去查看/sys/module目录,发现模块名果真存在问题。
不知道为什么我的模块名会有一个.o的后缀。
估计就是这个后缀导致了无法通过rmmod命令来卸载cstfifo这个模块。
随后我尝试rmmod cstfifo.o来卸载模块
发现还是报错。后来想通过使用改名的方法将cstfifo.o改为cstfifo但是提示没有权限,即使加上sudo命令也不行。
对比Makefile也是跟教程一致的,真想不明白问题出在哪儿,能用的办法都试过了。
跪求大佬解答这个问题该怎么解决,为什么会出现这种问题?
使用的内核是:
11、开发板教程对应的uboot和linux源码/linux-imx-rel_imx_4.1.15_2.1.0_ga_alientek.tar.bz2
编译器是:
5、开发工具/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz
作者:
wshgdzh123
时间:
2023-10-14 00:56
图片不见了,重新补上。
跟着教程写了一个FIFO模块,模块命名为cstfifo.ko,
通过insmod安装cstfifo.ko后,
(, 下载次数: 0)
上传
点击文件名下载附件
在通过rmmod卸载模块,系统提示出错,通过多次尝试,更换模块之类的全都存在这个问题。(模块能正常使用,除了卸载)
(, 下载次数: 0)
上传
点击文件名下载附件
通过使用lsmod进行查看,发现cstfifo这个模块是已经成功安装了的,只是不知道为什么Size 和 Used by为什么是-2。
(, 下载次数: 0)
上传
点击文件名下载附件
借助网络进行查询(
linux - lsmod shows -2 in the “Used by” column - Unix & Linux Stack Exchange
),
说Used by之所以为-2是因为在linux内核进行编译的时候没有将CONFIG_MODULE_UNLOAD勾选上。
随后回去查看linux编译时的选项,发现这个宏是勾选上的,所以不是我要找的答案。
继续求助网络(
Linux内核模块文件名中的坑_内核编译各种坑_云帆清扬的博客-CSDN博客
),
找到一个跟我一模一样问题的人,也是Size和Used by都是-2。
但是他的问题是由于命名问题导致的,很明显我的没有该问题,但是给了我启发。
我去查看/sys/module目录,发现模块名果真存在问题。
不知道为什么我的模块名会有一个.o的后缀。
(, 下载次数: 0)
上传
点击文件名下载附件
估计就是这个后缀导致了无法通过rmmod命令来卸载cstfifo这个模块。
随后我尝试rmmod cstfifo.o来卸载模块
发现还是报错。后来想通过使用改名的方法将cstfifo.o改为cstfifo但是提示没有权限,即使加上sudo命令也不行。
(, 下载次数: 0)
上传
点击文件名下载附件
对比Makefile也是跟教程一致的,真想不明白问题出在哪儿,能用的办法都试过了。
跪求大佬解答这个问题该怎么解决,为什么会出现这种问题?
使用的内核是:
11、开发板教程对应的uboot和linux源码/linux-imx-rel_imx_4.1.15_2.1.0_ga_alientek.tar.bz2
编译器是:
5、开发工具/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz
作者:
wshgdzh123
时间:
2023-10-14 00:57
图片不见了,重新补上。
跟着教程写了一个FIFO模块,模块命名为cstfifo.ko,
通过insmod安装cstfifo.ko后,
[attach]217110[/attach]
在通过rmmod卸载模块,系统提示出错,通过多次尝试,更换模块之类的全都存在这个问题。(模块能正常使用,除了卸载)
[attach]217114[/attach]
通过使用lsmod进行查看,发现cstfifo这个模块是已经成功安装了的,只是不知道为什么Size 和 Used by为什么是-2。
[attach]217111[/attach]
借助网络进行查询(
linux - lsmod shows -2 in the “Used by” column - Unix & Linux Stack Exchange
),
说Used by之所以为-2是因为在linux内核进行编译的时候没有将CONFIG_MODULE_UNLOAD勾选上。
随后回去查看linux编译时的选项,发现这个宏是勾选上的,所以不是我要找的答案。
继续求助网络(
Linux内核模块文件名中的坑_内核编译各种坑_云帆清扬的博客-CSDN博客
),
找到一个跟我一模一样问题的人,也是Size和Used by都是-2。
但是他的问题是由于命名问题导致的,很明显我的没有该问题,但是给了我启发。
我去查看/sys/module目录,发现模块名果真存在问题。
不知道为什么我的模块名会有一个.o的后缀。
[attach]217112[/attach]
估计就是这个后缀导致了无法通过rmmod命令来卸载cstfifo这个模块。
随后我尝试rmmod cstfifo.o来卸载模块
发现还是报错。后来想通过使用改名的方法将cstfifo.o改为cstfifo但是提示没有权限,即使加上sudo命令也不行。
[attach]217113[/attach]
对比Makefile也是跟教程一致的,真想不明白问题出在哪儿,能用的办法都试过了。
跪求大佬解答这个问题该怎么解决,为什么会出现这种问题?
使用的内核是:
11、开发板教程对应的uboot和linux源码/linux-imx-rel_imx_4.1.15_2.1.0_ga_alientek.tar.bz2
编译器是:
5、开发工具/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz
欢迎光临 OpenEdv-开源电子网 (http://openedv.com/)
Powered by Discuz! X3.4