【linux-将内核配置变量映射到模块】教程文章相关的互联网学习教程文章

检查Linux内核模块是否正在运行【代码】

我编写了一个内核模块,该模块在/ proc /中创建一个条目并执行其他一些任务.我想修改一个现有的内核模块,以检查我的模块是否正在运行,并根据它执行一些语句(或者在不运行时执行其他语句) 有关如何执行此操作的任何建议?解决方法:kernel / module.c提供的功能可能会满足您的需求;您首先需要锁定module_mutex,然后使用模块名称调用find_module().结果将是指向描述命名模块的struct模块的指针-如果未加载该模块,则为NULL:/* Search ...

Objdump -S没有显示Linux内核模块的源代码列表【代码】

我正在尝试从我的一个内核模块中调试崩溃;我正在尝试获取源代码清单以及objdump的输出,但未列出.我有什么想念的吗?mips-linux-objdump -S <filename.o> > temp解决方法:最有可能是a)在构建过程中的某个时候从内核模块目标文件中剥离了所有调试信息,或者b)即使存在调试信息,objdump也无法找到源代码文件,在这种情况下,您可以尝试cd到运行objdump之前源文件所在的位置.

使用Linux内核模块发送的UDP数据包不使用套接字【代码】

我正在编写一个创建IP数据包的内核模块.现在,我想发送此数据包,但尚未为其传输创建任何套接字. 有什么方法可以借助内核例程直接发送它. 由于我已经跟踪了Linux内核代码以进行数据包传输,因此在net / core / dev.c中定义了一个名为dev_hard_start_xmit()的函数.我们可以使用吗? 其实我不想使用套接字.解决方法:您不需要套接字就可以在内核中发送UDP数据包,只需分配一个skb,自己构造IP报头和UDP报头,最后通过dev_queue_xmit()将其发...

如何在Linux内核模块中添加定期计时器回调【代码】

这个问题已经在这里有了答案: > How to add a peridic timer callback in a linux kernel module 2个我正在研究一个Linux内核模块,该模块注册一个来自定制板的中断的回调,并将接收到的数据放入char设备接口后面的队列中,以供应用程序处理.即使没有来自板的中断,该模块也需要不断地监视和测量来自板的中断和数据,因此它具有另一个根据时间触发的回调. 当前的实现使用RTC...

linux-将内核配置变量映射到模块【代码】

通常,我如何知道要构建一些.ko文件需要哪些内核配置选项集? 例如,我需要“ xt_conntrack.ko”.有哪些资源可以让我知道在我的内核配置中启用CONFIG_NETFILTER_XT_MATCH_CONNTRACK = m是否必要或什至足以导致生成的.ko文件?如何找到产生内核模块所需的全套kconfig选项? http://cateee.net/lkddb/web-lkddb/NETFILTER_XT_MATCH_CONNTRACK.html表示它将构建“ xt_conntrack”,但是当我= m及其所有依赖项时,我没有看到它.另一方面,这...

如何调试Linux内核模块`init()`中的问题?

我正在使用远程(k)gdb调试模块中的问题,该问题在加载时会引起恐慌,例如调用init()时. 堆栈跟踪仅显示do_one_initcall(mod-> init)导致崩溃.为了将符号文件加载到gdb中,我需要获取模块文本部分的地址,并且要获取,我需要加载模块. 因为busybox(1.16.1)中的insmod不支持-m,所以我坚持使用grep modulename / proc / modules添加nm的偏移量来找出地址. 所以我在这里面临一个鸡和鸡蛋的问题-为了能够调试模块加载,我需要加载模块-但是为了...

Java中的Linux PAM模块

我确实有一个用Java编写的自定义身份验证机制.我想知道在不重写C代码的情况下实现Linux PAM模块的最佳方法是什么? 我知道this list of available PAM modules,但是它们都不与Java相关. 还有JPam,但是它做相反的事情:它允许获取要在Java应用程序中使用的用户/组信息,而我需要使用现有的Java代码来在Linux中对用户进行身份验证(例如通过SSH). 欢迎任何建议.解决方法:您可以尝试: >使用GCJ将Java程序编译为本地代码>编写胶C程序,该...

如何使linux模块加载另一个模块?

我的任务是对一个模块进行编程以存储一些数据,对另一个模块进行编程以控制第一个模块,从而能够从代码中加载/卸载它. 我和内核编程一无所知,但我一直在努力寻找方法来做到这一点.有什么功能可以做到这一点吗? 提前非常感谢你解决方法:使用request_module加载模块

如何在Linux中包含python模块?【代码】

我发现这个xgoogle python模块http://github.com/pkrumins/xgoogle非常有趣.我到底应该如何在Linux中包括或安装这些文件? 如果我想使用xgoogle python模块做这样的事情?>>from xgoogle.search import GoogleSearch 我知道我们可以使用,导入使用模块,但是要包括外部模块,我该怎么办?我需要安装模块还是什么?解决方法:您可以执行通常的安装舞蹈:python setup.py install或者只是将文件包含在已知目录中,然后将该目录包含在PYTHO...

安装新内核时如何自动进行Linux内核模块编译?

我正在写一个Linux内核模块.它与所有源文件一起发布(尽管许可证是专有的),可以针对正在运行的内核进行编译.安装我的模块(以.deb软件包分发)时,它将自动编译并安装.这可行. 问题是,在整个Linux系统的常规升级过程中,将安装较新版本的Linux内核.当这样新版本的内核开始运行时,它没有为其编译我的模块,并且我的应用程序失败.我希望在安装新的Linux内核软件包时就可以编译并安装我的模块. 因此,我的问题是:dpkg中是否有一种机制可以在...

无需源代码构建linux模块

我只是想知道,是否有可能在没有源代码的情况下构建/插入模块.假设我已经下载了openSuse操作系统,但是内核源代码没有随附.如何编译模块并插入模块而无需重新编译内核? 对于没有内核源代码的openSuse,确实很难找到完全相同版本的源代码.即使内核的配置不同,也无法将模块插入当前的openSuse中. 但这在业界不可能发生,对吗?我们无法编写驱动程序,而不能让用户下载最新版本的源代码并找出正确的配置. 该行业如何解决这个问题?我好奇....

如何从用户空间与Linux内核模块通信而不会乱丢/ dev新节点?

从用户空间与内核模块通信的方式有哪些?通过通信,我的意思是在内核模块和用户空间进程之间发送信息和命令. 我目前知道两种方式: >在已发布的设备节点上打开/关闭/读取/写入/ ioctl.>在导出和挂钩/ proc文件上读/写. 更具体地说,有人可以建议与内核模块进行通信的最佳方式,该内核模块实际上并不驱动任何硬件,因此不应该使用仅用于ioctl调用的存根节点乱丢/ dev吗?我主要需要检查其各种状态变量,并向其发送带有请求类型标记的数据...

如何在Linux上使用pip为所有用户安装模块?【代码】

如何使用pip在标准python环境中安装软件包,即/usr/local/lib/python2.7/dist-packages,并在不使用virtualenv的情况下为所有用户提供这个新软件包? 通过使用以下内容,仅使用root权限安装软件包:$sudo pip install loremipsum Downloading/unpacking loremipsumDownloading loremipsum-1.0.5.tar.gzRunning setup.py (path:/tmp/pip_build_root/loremipsum/setup.py) egg_info for package loremipsumInstalling collected package...

android – 如何在Linux上的BIOS和KVM模块中启用VT-x?

我的戴尔Inspiron 15 5000系列笔记本电脑包含英特尔酷睿i5 6200U处理器.我使用的是Windows 10家庭版.它有虚拟化设备,我已经在BIOS中检查了虚拟化,该虚拟化已启用.但在android studio中,当我运行AVD管理器时,我收到此错误.Enable VT-x in your BIOS security settings, ensure that you Linuxdistro has working KVM modules.解决方法:据我了解,您已经在BIOS中启用了VT-x选项.那很好.因为您已将Linux作为操作系统,所以现在需要安装和...

linux – 类似netfilter的内核模块,用于获取源和目标地址【代码】

我读了this guide写一个内核模块做简单的网络过滤. 首先,我不知道这意味着什么,以及入站和出站数据包(通过传输层)之间的区别是什么?When a packet goes in from wire, it travels from physical layer, datalink layer, network layer upwards, therefore it might not go throughthe functions defined in netfilter for skb_transport_header to work.其次,我讨厌魔术数字,我想用Linux内核的实用程序(source file)中的任何函数替...

内核 - 相关标签