Linux 内核模块 - 创建 proc 文件 - proc_root 未声明错误

2024-01-20

我从该 URL 复制并粘贴代码,以使用内核模块创建和读取/写入 proc 文件,但收到 proc_root 未声明的错误。这个例子在几个网站上都有,所以我认为它是有效的。有什么想法为什么我会收到此错误吗?我的 makefile 需要不同的东西吗?下面也是我的 makefile:

创建基本 proc 文件的示例代码(直接复制并粘贴以完成初始测试):http://tldp.org/LDP/lkmpg/2.6/html/lkmpg.html#AEN769 http://tldp.org/LDP/lkmpg/2.6/html/lkmpg.html#AEN769

Makefile我在用着:

obj-m    := counter.o

KDIR    := /MY/LINUX/SRC

PWD    := $(shell pwd)

default:
 $(MAKE) ARCH=um -C $(KDIR) SUBDIRS=$(PWD) modules

这个例子已经过时了。当前内核API下,通过NULL为 procfs 的根。

另外,代替create_proc_entry,你应该使用proc_create()具有适当的const struct file_operations *.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux 内核模块 - 创建 proc 文件 - proc_root 未声明错误 的相关文章

  • 在Linux中断上下文中运行用户线程

    我正在编写一些定制的应用程序 并允许更改 Linux 内核中的中断处理程序代码 我有一个用户线程正在等待中断发生 如果发生中断 那么我要做的第一件事就是执行该用户线程 有什么办法让它发挥作用吗 Thanks 创建一个字符设备 这就是内核所做
  • 这个反斜杠在这段汇编代码中起什么作用?

    我不确定这些推线有什么区别 修剪下来来自 Linux 的 x86 entry calling h https github com torvalds linux blob 241e39004581475b2802cd63c111fec43b
  • 在网络处理中使用自旋变体

    我编写了一个与网络过滤器挂钩交互的内核模块 网络过滤器挂钩在 Softirq 上下文中运行 我正在访问全局数据结构 哈希表 来自软中断上下文以及进程上下文 进程上下文访问是由于sysctl文件用于修改哈希表的内容 我正在使用 spinloc
  • 如何模拟ARM处理器运行环境并加载Linux内核模块?

    我尝试加载我的vmlinux into gdb并使用 ARM 内核模拟器 但我不明白为什么我会得到Undefined target command sim 这是外壳输出 arm eabi gdb vmlinux GNU gdb GDB 7
  • Linux中的CONFIG_OF是什么?

    我看到它在很多地方被广泛使用 但不明白在什么场景下我需要使用它 What is 配置 OF OF 的全名是什么 打开固件 这是很久以前发明的 当时苹果公司正在生产基于 PowerPC CPU 的笔记本电脑 而 Sun Microsystem
  • 如何访问 mmaped /dev/mem 而不导致 Linux 内核崩溃?

    我有一个简单的程序 尝试访问用户空间中的物理内存 其中内核存储第一个结构页 在 64 位机器上 该地址是 内核虚拟地址 ffffea0000000000 物理地址 0000620000000000 我正在尝试通过用户空间中的 mmap 访问
  • 如何从 Linux 内核模块获取使用计数?

    我对正在开发的内核模块的使用计数有疑问 我想打印它以进行调试 如何从模块代码中获取它 有问题的内核版本 Linux 2 6 32 module refcount http lxr linux no linux v2 6 34 1 inclu
  • 读取文件而不从操作系统页面缓存中逐出

    这主要适用于 Linux 或者理想情况下适用于任何 POSIX 系统 当我阅读以下页面时 我正在寻找一种读取大量文件 其中任何一个文件本身可能高达 1GB 的方法 具有以下特征 如果相关磁盘页面已在文件系统缓存中 则使用该页面 如果相关页面
  • 使用 strace 修复挂起内存问题

    我有一个在 RHEL6 x 64 位 上运行的多线程进程 我发现当我尝试启动该进程时 该进程挂起并且大多数线程 同一进程的 崩溃 有些线程等待线程之间的共享内存被创建 我可以看到所有的共享内存都没有被创建 但是当我使用 strace 时 进
  • 我的属性太活泼了,我该怎么办?

    在 Linux 设备驱动程序中 创建 sysfs 属性probe太活泼了 具体来说 它经历了与用户空间的竞争条件 http kroah com log blog 2013 06 26 how to create a sysfs file c
  • 内核模块未加载(但 insmod 返回 0)

    我必须向现有设备 mips arch 添加一些功能 我已经尝试了几个 SDK 目前我取得了一些进展 但是 insmod 返回 0 成功 并且 lsmod 显示它们 但是 printk 和 create proc entry 都不起作用 但我
  • 如何在C程序中直接改变显存映射来绘制像素(无需库函数)

    是否可以通过使用 C 程序更改 RAM 中屏幕 视频即监视器 内存映射中的值来显示黑点 我不想使用任何库函数 因为我的主要目标是学习如何开发简单的操作系统 我尝试访问起始屏幕内存映射 即 0xA0000 在 C 中 我尝试运行该程序 但由于
  • ARM 的内核 Oops 页面错误错误代码

    Oops 之后的错误代码给出了有关 ARM EX 中的恐慌的信息 Oops 17 1 PREEMPT SMP在这种情况下 17 给出了信息 在 x86 中它代表 bit 0 0 no page found 1 protection faul
  • 如何从外部模块导出符号?

    我在内核源代码树之外进行编码 有两个模块 第一个printt有一个功能printtty 将字符串打印到当前 tty 以及第二个模块hello这会调用printtty 在初始化期间 我已经添加了EXPORT SYMBOL printtty 在
  • 使用“kde”函数进行 R 中的 5-D 核密度估计

    我想通过使用 R 的 ks 库中的 kde 函数来执行 5 维数据 x y z 时间 大小 的核密度估计 在它的手册中 它说它可以执行核密度估计1 至 6 维数据 手册第 24 页 http cran r project org web p
  • 警告构建使用导出符号的内核模块

    我有两个内核模块 例如 modA 和 modB modA 导出一个符号EXPORT SYMBOL symA modB 使用它 我有标题modA h对于modA extern void symA int param and in modB c
  • 为什么存在系统调用

    我一直在阅读有关系统调用及其在 Linux 中如何工作的内容 我还有更多的阅读要做 但我读过的一件事都没有回答 那就是 为什么我们需要系统调用 我知道系统调用是用户空间程序要求内核执行某些操作的请求 但我的问题基本上是 为什么用户空间程序本
  • 警告:Windows 调试器中的 [something] 与 [something] 重叠是什么意思?

    我正在为 uni 项目的一部分编辑 Windows Research Kernel WRK 有时当我启动运行我的内核的虚拟机时 Windows 调试器会显示如下内容 WARNING rdpdr overlaps raspptp baa740
  • 为什么 Linux 原始套接字的 RX 环大小限制为 4GB?

    背景 我试图mmap 我的原始套接字的 RX 环形缓冲区64 bitLinux 应用程序 我的环由 4096 个块组成 每个块大小为 1MB 总共 4GB 请注意 每个 1MB 块中可以有许多帧 如果您好奇 请参阅此文档了解背景信息 htt
  • Linux 中 m 标志和 o 标志将存储在哪里

    我想知道最近收到的路由器通告的 m 标志和 o 标志的值 从内核源代码中我知道存储了 m 标志和 o 标志 Remember the managed otherconf flags from most recently received R

随机推荐

  • 如何为 SASS 变量中的 fs-* 类自定义 Bootstrap 5 字体大小

    如何更改 Bootstrap 5fs 上课于sass 因为在文档 https getbootstrap com docs 5 0 utilities text variables仅显示如何修改h 类如h5 font size 但不是fs c
  • Spring MVC:如何修改从控制器发送的json响应

    我已经使用如下控制器构建了一个 json REST 服务 Controller RequestMapping value scripts public class ScriptController Autowired private Scr
  • 64 位 Windows API:C/C++“DWORD”的大小是多少?

    我只安装了 32 位 Windows 因此我无法亲自验证这一点 如果我没理解错的话 微软API中各个地方使用的DWORD都是参考原来的16位字 和现在的硬件架构无 关 那么 即使我最终编译并链接我的应用程序以在 64 位 Windows 中
  • 有没有办法从 UITableView 中删除分隔线?

    我正在寻找一种在普通模式下完全删除 UITableView 中的分隔线的方法 这是在分组中自动完成的 但这也会以难以测量的方式改变表格的尺寸 我已将分隔线颜色设置为 colorClear 但这并不能完全解决问题 当我尝试在单元格中绘制自定义
  • 将文本文件中的数据读入 VBA 数组

    我有以下 VBA 代码 Sub read in data from txt file Dim dataArray As String Dim i As Integer Const strFileName As String Z sample
  • 使用 Common Lisp 进行排序时出现意外的列表重复

    编辑 解决方案是将第一个 let 形式中的 1 替换为 list 1 这是因为我试图修改文字数据 谢谢您的帮助 我会投赞成票 但显然你需要 15 声望 这是我在这个网站上的第一篇文章 我正在解决一些欧拉计划 https projecteul
  • 如何结合Flyway处理不在序列中的分支的合并

    我刚刚遇到了以下情况 测试服务器当前正在运行 Flyway 版本 1 V1 每当有任何内容推送到测试服务器上时 测试服务器都会自动更新 包括 Flyway 脚本 develop branch 开发人员决定开始在分支上开发新功能feature
  • 根据一组条件将数据框中的值替换为其他数据框中的值

    在 df1 中 我需要将 msec 的值替换为 df2 中的相应值 df1 lt data frame ID c rs rs rs tr tr tr cond c 1 1 2 1 1 2 block c 2 2 4 2 2 4 correc
  • 为什么我不能“转到默认值”或“转到案例 x;”在开关选择结构内?

    C11 第 6 8 1 节 http www iso 9899 info n1570 html 6 8 1 or C99 http www iso 9899 info n1256 html 6 8 1 或第 3 6 1 节C89 http
  • Android:我应该以什么方式将代码与样式分开?

    从 html php css 开始 Android 编程 我在网上搜索了一种将代码与样式分开的简单方法 现在我需要在列表或表格视图中显示数据库中的数据 简而言之 我从数据库获取一个游标 迭代它 在代码中动态创建每个列表项作为 TextVie
  • 如何在 leiningen repl 中预加载 clojure 文件?

    我希望在启动 clojure REPL 时预加载一些 clojure 函数 这些函数没有多大用处 除非您在 REPL 上下文中使用它们 如果有帮助 我通常使用 leiningen 为我启动 clojure REPL 我如何告诉 clojur
  • 函数是如何柯里化的?

    我了解柯里化的概念是什么 并且知道如何使用它 这些不是我的问题 而是我很好奇这是如何在比 Haskell 代码更低的级别上实际实现的 例如 当 2 4被柯里化 是一个指向2维持直到4被传入 甘道夫会扭曲时空吗 这是什么魔法 简短回答 是的
  • 将 S3 与 Active Storage 结合使用时出现“请求已过期”

    我是第一次使用 ActiveStorage 在开发中一切正常 但在生产 Heroku 中我的图像无缘无故地消失了 第一次显示正常 但现在没有显示图像 在控制台中我可以看到这个错误 GET https XXX s3 amazonaws com
  • 设置用户控件的默认事件

    我有一个User Control包含一堆控件 我想设置这个的默认事件User Control to the Click我的一个按钮的事件 我知道为了将默认事件设置为 UserControl 的事件之一 我应该添加以下属性 DefaultEv
  • 使用 MediaStore Android 10 下载大文件

    我正在尝试下载一个文件来下载Android 10及以上版本的目录 我做了如下 val resolver contentResolver val contentValues ContentValues apply put MediaStore
  • Yii - 从控制器动态更改规则

    假设我有一个可以有颜色的产品 根据产品类型 可能需要也可能不需要色域 如果总是需要颜色 我会在产品模型中包含以下内容 public function rules return array array colour required 但是 我
  • opencv函数中的内存泄漏

    我注意到我的程序的内存使用量有时会毫无意义地增加 特别是当我使用cvWaitKey 0 我的程序倾向于在 10 秒内将内存使用情况拍摄到一个巨大的大小 有解决办法吗 或者这是一个 OpenCv 错误 我有一个简单的函数叫做Show Imag
  • 数据集设计器问题 - Visual Studio 2008

    我们使用数据集在应用程序中的各个节点之间传递少量数据 数据集本身位于程序集中 因为它是许多其他组件的引用 Visual Studio 数据集工具养成了一个奇怪的习惯 即每次构建完成后都会创建一个新的设计器 所以 该项目看起来像这样 MyDa
  • Graphql 只查询非空对象

    我正在尝试执行这样的查询 people pet name result people pet null people pet name steve 我想要的是只得到包含宠物的人 有什么方法可以实现这一点而不是在我的解析器上编码 事实上 这是
  • Linux 内核模块 - 创建 proc 文件 - proc_root 未声明错误

    我从该 URL 复制并粘贴代码 以使用内核模块创建和读取 写入 proc 文件 但收到 proc root 未声明的错误 这个例子在几个网站上都有 所以我认为它是有效的 有什么想法为什么我会收到此错误吗 我的 makefile 需要不同的东