kernel-module 相关问题

内核模块是一个运行时可加载的目标文件,它被加载到操作系统内核中以向正在运行的内核添加功能。示例包括设备驱动程序和其他内核项。

安装内核模块失败

尝试编译我的自定义 Linux 内核时,sudo makemodules_install 命令失败,导致以下错误: 安装 /lib/modules/5.14.0-rc7+/kernel/arch/x86/crypto/blake2s-

回答 1 投票 0

如何列出系统的所有模块(不是我自己进程的模块)?

我想列出系统的所有模块。有一个代码仅列出我自己的进程中加载的所有模块。那么,如何更改以下代码以能够枚举系统的所有模块(包括 nto...

回答 1 投票 0

SPI内核模块,如何实例化驱动?

我的任务是将 spi 驱动程序导入到运行 Openwrt 的现有平台中。 “成功”构建完整的 Openwrt:软件包和与平台中运行的内核相匹配的内核后,

回答 2 投票 0

使用 Buildroot 外部树测试内核模块,但无法在 QEMU 中 modprobe 模块

这是我第一次创建内核模块(设备驱动程序),我只是想在我的 Raspberry Pi 变砖之后在模拟器(QEMU)中测试我的模块:( 在开始之前,我的源代码是 https://

回答 1 投票 0

如何在嵌入式Linux(ARM)中读取/写入通过SPI连接的Flash?

我正在使用 Yocto 和 meta-atmel 构建嵌入式 Linux(4.4.19)。我的板上有一个通过 SPI 连接的 Flash。 我尝试了几种方法来写它。但他们都失败了。 如何读/写

回答 7 投票 0

如何通过内核镜像检查内核中是否启用了无线扩展

如何通过内核镜像查看内核中是否启用了无线扩展? 假设我将 Zimage 加载到平台上并想知道无线扩展是否(E...

回答 1 投票 0

内核模块中初始化程序周围缺少大括号

我正在尝试为内核驱动程序中的用例编写以下驱动程序。为了简单起见,我在这里硬编码了几个值,并减少了 1 个元素的数组,驱动程序代码如下, #包括 我正在尝试为内核驱动程序中的用例编写以下驱动程序。为了简单起见,我在这里硬编码了几个值,并减少了 1 个元素的数组,驱动程序代码如下, #include <linux/init.h> #include <linux/kernel.h> #include <linux/module.h> #include <linux/slab.h> #define MODULE_NAME ("test-module") #define BOARD_VER 3 #define BOARD_SAM 2 struct foo { int variant; char *str[3]; }; struct bar { int sample; struct foo fooarr[3]; }; static int __init dtcprop_init(void) { unsigned int board_sample, board_variant; int i = 0; board_sample = BOARD_SAM; board_variant= BOARD_VER; struct bar bar_array[6] = { -1, { 0, NULL,NULL,NULL }, }; if (bar_array[board_sample].sample != -1 && bar_array[board_sample].fooarr[board_variant].variant != -1) { while (bar_array[board_sample].fooarr[board_variant].str[i] != NULL) { pr_info("%s: %s\n", MODULE_NAME, bar_array[board_sample].fooarr[board_variant].str[i++]); } } else { pr_info("%s: unsupported board\n", MODULE_NAME); } return 0; } arch_initcall(dtcprop_init); 但是我收到这些被视为错误的警告, 41:35: warning: missing braces around initializer [-Wmissing-braces] 41:9: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 41 | struct bar bar_array[6] = { | ^~~~~~ 我尝试了几次右大括号,但这个警告并没有消失。 在内核模块中写入结构体数组是否合法, 如何纠正上述驱动程序? C90 不允许在任何地方进行声明,除了周围函数体的顶部(紧接在 { 之后)。所以 C90 中的修复是这样的: static int __init dtcprop_init(void) { unsigned int board_sample, board_variant; int i = 0; struct bar bar_array[6] = { -1, { 0, NULL,NULL,NULL }, }; board_sample = BOARD_SAM; board_variant= BOARD_VER; 但是,最好解决问题的根源,即您使用的是 34 年历史的编译器。这与在 34 年旧计算机上运行 Linux 一样明智:) 因此,请删除任何选项 -std=gnu89/-std=c89/-std=gnu90/-std=c90/-ansi。这些都不应该被使用。同时更新到 gcc 版本 5.0.0 或更高版本,它不默认为 C90。

回答 1 投票 0

类和类设备的目的是什么?

我遵循了一些解释如何编写 Linux 内核模块的教程,但我有点困惑。即使阅读了官方“文档”后,我对这个概念的理解也很差......

回答 1 投票 0

使用 echo 从用户空间写入简单的字符设备模块 - 无法看到正在发生的写入

我举了一些例子来了解有关内核模块的更多信息。 所以我拿了一个基本的例子并在我的树莓派上尝试了它。加载和卸载被记录到内核日志中,但我想...

回答 1 投票 0

使用 echo 从用户空间写入简单字符设备模块 - 无法看到正在发生的写入

我举了一些例子来了解有关内核模块的更多信息。 所以我拿了一个基本的例子并在我的树莓派上尝试了它。加载和卸载被记录到内核日志中,但我想...

回答 1 投票 0

kvm:模块验证失败:签名和/或所需密钥丢失 - 污染内核

我使用的是 Ubuntu 14.04 LTS 和内核版本 3.13.11.4。我正在尝试加载已修补的 KVM 模块 kvm 和 kvm-intel,但出现以下错误 kvm:模块验证失败:签名...

回答 4 投票 0

如何在使用 CET 编译的内核上挂钩 Linux 系统调用

我目前正在阅读《Linux 内核模块编程指南》一书。第 19 章重点介绍系统调用。本章简要介绍了控制流执行技术,但没有涉及

回答 1 投票 0

使用 yocto 添加第三方 Linux 内核模块

我找不到如何使用 Yocto 将第 3 方 .ko 文件添加到 /lib/modules/.../extra 目录中。我可以找到大量有关如何从源代码构建树外模块的文档。但我只

回答 2 投票 0

Linux 内核模块编程 - 挂钩 sys_wait4 系统调用

我尝试挂钩系统调用 sys_wait4 ,每次我尝试执行 rmmod 来模块内核时都会崩溃。 这是我的代码。 void **sys_call_table;//系统调用表的指针 typedef asml...

回答 1 投票 0

eBPF 与非 eBPF 跟踪点/kprobes

根据本文档(除其他外):https://blogs.oracle.com/linux/post/taming-tracepoints-in-the-linux-kernel 可以使用 eBPF 和其他内核提供的机制来注册 cal...

回答 2 投票 0

在 docker 容器内制作/构建内核模块

我目前的主机系统运行带有 docker 的 Mac OS。我的 Mac OS 主机系统生成了一个 docker 容器。 生成的 docker 容器当前正在运行 ubuntu:19.10 我正在努力...

回答 3 投票 0

字符设备、平台驱动和内核模块的区别

我是 Linux 内核设备驱动程序代码的新手。 一个问题又一个:以下之间的区别是什么: 字符设备 平台驱动程序 内核模块 我写这个问题是因为...

回答 1 投票 0

无线网卡的内核模块以.ko.xz而不是.ko结尾是什么意思

我使用的是 Fedora 38,无法安装 Broadcom BCM 43142 网络控制器的内核模块。 我最终明白这是因为模块没有正确签名并且我有...

回答 1 投票 0

Linux 内核模块使用 SOCK_RAW 处理 CAN 接口未接收数据

我正在尝试开发一个Linux内核模块,旨在使用原始套接字(SOCK_RAW)从CAN(控制器局域网)接口读取数据。 请注意,这是我第一次与 k 合作...

回答 1 投票 0

内核模块可以有配置文件而不是使用Proc或SysFS吗

我正在编写一个内核模块,需要大量没有默认值的配置选项。内核模块访问配置文件是否可以接受(我猜存储在...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.