问题标签 [insmod]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - 如何查看对内核模块所做的更改
我是 Linux 内核的新手,我在我的 Linux 机器上运行了模块,并且可以使用 lsmod 命令看到它,现在我对此模块进行了一些更改(添加了一些 printk),重新编译并获得了 .ko。现在我做了 rmmod删除这个模块(一些其他模块也在使用这个模块)并执行 insmod xxx.ko 并重新启动系统。
现在我在哪里看到使用 printk 添加的语句,我尝试查看使用
dmesg grep | “SPI RW”
但是找不到任何东西。有人可以让我知道我在这里做错了什么吗?
c - 使用 insmod 时出错“无法插入模块 hello_world.ko:模块格式无效”
我正在尝试在 Raspberry Pi 上使用 C 和 Bash制作一个hello_world内核模块。
我成功使用make命令生成了一个hello_world.ko
文件。
但是,当我尝试使用该insmod hello_world.ko
命令时,出现以下错误:
错误:无法插入模块 hello_world.ko:模块格式无效
我尝试按照Raspberry Pi 论坛上描述的步骤进行操作,但运气不佳。
我认为这可能是由于我的内核和 Linux 头文件之间的版本不匹配。这些头文件在这个过程中扮演什么角色,我如何获得与我的内核匹配的版本?
c - 无法安装或使用内核间模块
我在内核驱动程序 1 (KD1.ko) 中有一个函数:
在内核驱动程序 2 (KD2.ko) 中:
我试着叫它。
我设法 insmod KD1.ko,但我无法 insmod KD2.ko。我错过了什么吗?
module - 带空格的 insmod 字符串参数
嗨,我这些天学习模块。今天我写了一个简单的模块,在使用 insmod 时将采用字符串参数,这里是代码片段:
当我输入命令行时
没关系
但是当我输入
有错误
你知道为什么吗?
linux-kernel - 如何确保 insmod 因错误而失败?
我为 Linux 开发了一个外围驱动程序。.probe 函数执行常见的错误检查,如内存分配失败,并尝试与硬件通信,并在任何类型的错误中解除分配任何内存并返回错误代码,如 -ENOMEM 或 -EIO。
问题是,虽然模块探测函数在硬件不可达时返回 -EIO,但我仍然看到模块在lsmod
输出中列出。当初始化过程中出现问题时,是否可以确保insmod
完全失败?
这是我当前的探测功能。所有特定于设备的函数在失败时都会返回适当的错误代码,通常是 -EIO。
linux-device-driver - insmod 错误“模块中的未知符号”
我正在编写并行 LED 板驱动程序,.ko 已成功生成。
我正面临这个问题
[63722.594233] LED:未知符号 parport_register_device(错误 0)
[63722.594264] led: 未知符号 parport_register_driver (err 0)
android - 在文件系统挂载到 Android 之前 init.rc 中的 insmod helloworld
我正在尝试修改已植根的 Nexus 7 设备上的 init.rc 文件。我想在挂载 /userdata/ 分区之前安装一个简单的 hello world 模块。我尝试过的事情:
从设备中提取 boot.img,提取 ramdisk,对 init.rc 进行更改(不起作用),重新创建 boot.img(使用 mkbootimg 工具),然后再次将其刷新到设备上
我已经将为内核编译的 hello.ko 放置在 2 个位置:一个是放置 init.rc 的当前目录,这样我就可以执行类似 insmod hello.ko 的操作,它会找到它。其次,我创建了 /lib/modules/ 目录并将其放在其中
在我的 init.rc 中,我在 on_boot 之后放置了 insmod /lib/modules/hello.ko。我还更改了 init.flo.rc 并将 insmod 放置在 ./mount_all 之前和之后,它会挂载文件系统。但是,我根本看不到我的模块加载。权限集是 0644 (我也尝试过 0777 )
我在 /etc/folder 中创建了 init.d 并放置了一个 loadmodule.sh ,它执行 insmod /lib/modules/hello.ko 并且该模块加载但一旦启动过程完成。
理想情况下,我想在安装 /userdata/ 分区之前立即执行此操作。
有人可以帮我弄这个吗?
我的设备是 Nexus 7,安装了 flo_kernel 和 root、busybox 等。
linux - insmod lkm.ko 在可加载内核模块中调用 cleanup_module 而不是 init_module
我正在尝试在 debian wheezy 7.5 上制作我的第一个可加载内核模块。我尝试了一些来自网络上不同教程的示例代码,但它并不像我认为的那样对我有用。
这是我的代码:
我正在用一个看起来像这样的 Makefile 编译它
所以它编译得很好,但是当我用"$ sudo insmod lkm.ko"加载 LKM然后查看日志消息时,它会返回"exit LKM...",所以看起来 insmod 调用了 cleanup_module 系统调用而不是 init_module。同样的事情发生了,当我使用"$ sudo rmmod lkm"时,我在日志消息中得到了"loading LKM.." 。所以我真的不知道为什么会这样,我在网上找到的只是,insmod 通过 init_module() 加载 LKM 等等......
我会很感激一些帮助或解释,因为我真的不知道出了什么问题。
谢谢
linux-kernel - 在删除驱动程序之前,内核日志不会显示“Hello kernel”
我刚刚开始编写一个字符驱动程序。所以,当我插入我的第一个驱动程序代码时,它从 init_module1 打印“hello kernel”,从内核日志中的退出模块打印“Bye kernel”。当我插入驱动程序并使用 dmesg 查看内核日志时,我找不到“Hello kernel”消息,但是当我删除驱动程序(使用 rmmod)时,我在日志中同时得到“Hello kernel”和“Bye kernel”。无法弄清楚如何以及为什么。这是我的代码...
头文件.h
初始化文件
退出.c
生成文件-
linux-kernel - insmod 模块参数:无效参数
我正在开发示例内核模块driver.ko
。我想data_node
用模块参数指定结构的块大小BlockSize
。当我insmod driver.ko
单独运行时,它可以工作,但是当我指定 BlockSize 时,insmod driver.ko BlockSize = 10
我得到了这个错误:
modinfo -p ./driver.ko
命令给我这个:
驱动程序.c
..