gpt4 book ai didi

c - 找不到模块 : modprobe

转载 作者:太空狗 更新时间:2023-10-29 11:29:16 24 4
gpt4 key购买 nike

我已经编写了一个简单的 hello world 内核模块,将其编译并安装在 /lib/modules/kernel_version/extra/ 路径中。

使用 insmod 可以正确加载,但是使用 modprobe 我会收到错误

modprobe: FATAL: Module hello_world.ko not found.

我已经安装了所有必要的组件。

这里是编译安装的Makefile:

make -C /lib/modules/$(shell uname -r)/build M=$(PWD)  modules
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules_install

请告诉我如何完成。

提前致谢。

最佳答案

这是因为modprobe通过读取 /lib/modules/$(shell uname -r)/ 下名为 modules.dep 的文件插入模块。所以在编译和安装你的模块之后,确保你再次重新创建这个依赖文件。

这是实现方式

  1. After installation of your module, check whether it is copied to /lib/modules/
  2. if it is found, then go to -> /lib/modules/$(shell uname -r)/ and use depmod command to create the dependency list of your new module.


Once this is done, you will be able to locate your module name under the file /lib/modules/$(shell uname -r)/modules.dep.

在此之后您可以使用 modprobe插入您的模块。

编辑:

下面是Makefile我曾经使用 root 权限构建和测试。

target ?= hello_world
obj-m = $(target).o

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

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

关于c - 找不到模块 : modprobe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27098426/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com