最近学习linux,自己写料一个小模块,代码如下:
#ifndef __KERNEL__
# define __KERNEL__
#endif
#ifndef MODULE
# define MODULE
#endif
#include
by piaopiaoyu - 内核/嵌入技术 - 2005-01-17 02:34:58 阅读(771) 回复(0)
最近学习linux,自己写料一个小模块,代码如下:
#ifndef __KERNEL__
# define __KERNEL__
#endif
#ifndef MODULE
# define MODULE
#endif
#include
1. lsmod 列出已经加载的内核模块 lsmod 是列出目前系统中已加载的模块的名称及大小等;另外我们还可以查看 /proc/modules ,我们一样可以知道系统已经加载的模块。 2.modinfo 查看模块信息 modinfo 可以查看模块的信息,通过查看模块信息来判定这个模块的用途。 3.modprobe 挂载新模块以及新模块相依赖的模块 modprobe 我们常用的功能就是挂载模块,在挂载某个内核模块的同时,这个模块所依赖的模块也被同时挂载;当然modpr...
1. lsmod 列出已经加载的内核模块 lsmod 是列出目前系统中已加载的模块的名称及大小等;另外我们还可以查看 /proc/modules ,我们一样可以知道系统已经加载的模块。 2.modinfo 查看模块信息 modinfo 可以查看模块的信息,通过查看模块信息来判定这个模块的用途。 3.modprobe 挂载新模块以及新模块相依赖的模块 modprobe 我们常用的功能就是挂载模块,在挂载某个内核模块的同时,这个模块所依赖的模块也被同时挂载;当然modp...
1. lsmod 列出已经加载的内核模块 lsmod 是列出目前系统中已加载的模块的名称及大小等;另外我们还可以查看 /proc/modules ,我们一样可以知道系统已经加载的模块。 2.modinfo 查看模块信息 modinfo 可以查看模块的信息,通过查看模块信息来判定这个模块的用途。 3.modprobe 挂载新模块以及新模块相依赖的模块 modprobe 我们常用的功能就是挂载模块,在挂载某个内核模块的同时,这个模块所依赖的模块也被同时挂载;当然mod...
1. lsmod 列出已加载的内核模块 lsmod 是列出现在系统中已加载的模块的名称及大小等;另外我们还能够查看 /proc/modules ,我们相同能够知道系统已加载的模块。 2.modinfo 查看模块信息 modinfo 能够查看模块的信息,通过查看模块信息来判定这个模块的用途。 3.modprobe 挂载新模块连同新模块相依赖的模块 modprobe 我们常用的功能就是挂载模块,在挂载某个内核模块的同时,这个模块所依赖的模块也被同时挂载;当然modprobe ...
1. lsmod 列出已经加载的内核模块 lsmod 是列出目前系统中已加载的模块的名称及大小等;另外我们还可以查看 /proc/modules ,我们一样可以知道系统已经加载的模块。 2.modinfo 查看模块信息 modinfo 可以查看模块的信息,通过查看模块信息来判定这个模块的用途。 3.modprobe 挂载新模块以及新模块相依赖的模块 modprobe 我们常用的功能就是挂载模块,在挂载某个内核模块的同时,这个模块所依赖的模块也被同时挂载;当然modpr...
在自己的虚拟机上编译好的模块,放在服务器上无法加载,提示无法识别的模块。 服务器和虚拟机都使用一张光盘,但是uname-r显示我的虚拟机内核版本为2.6.18-8.el5,而服务器上是2.6.18, 将makefile强制改成2.6.18-8.el5也不行。 如何解决? 服务器的/lib/modules/目录下有2.6.18和2.6.18-8.el5两个内核版本。。 虚拟机就一个。 [ 本帖最后由 zengrui0342 于 2008-10-23 09:28 编辑 ]
2.4内核下,执行“cat /proc/ksyms”,将会看到内核符号,而且在名字后还会跟随着一串校验字符串,此校验字符串与内核版本有关。在内核源码头文件linux/modules目录下存在许多*.ver文件,这些文件起着为内核符号添加校验后缀的作用,如ksyms.ver文件里有一行#define printk _set_ver(printk),linux/modversions.h 文件会包含所有的.ver文件。所以当模块包含linux/modversions.h文件后,编译时,模块里使用的内核符号实质上成为带...
内核模块加载时的版本检查 2.4内核下,执行“cat /proc/ksyms”,将会看到内核符号,而且在名字后还会跟随着一串校验字符串,此校验字符串与内核版本有关。在内核源码头文件linux/modules目录下存在许多*.ver文件,这些文件起着为内核符号添加校验后缀的作用,如ksyms.ver文件里有一行#define printk _set_ver(printk),linux/modversions.h 文件会包含所有的.ver文件。所以当模块包含linux/modversions.h文件后,编译时,模块里使...
insmod test.ko的时候报错: test: version magic '2.6.18-53.1.14.el5xen SMP mod_unload 686 REGPARM 4KSTACKS gcc-3.4' should be '2.6.18-53.1.14.el5xen SMP mod_unload 686 REGPARM 4KSTACKS gcc-4.1' 系统环境: [root@vcentOS cgi]# uname -a Linux vcentOS 2.6.18-53.1.14.el5xen #1 SMP Wed Mar 5 12:39:19 EST 2008 i686 i686 i386 GNU/Linux 系统安装后默认gcc版本 [root@vcentOS cgi]# gcc -v Using built-in spec...