Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux kernel 如何插入只有subsys_initcall的内核模块_Linux Kernel_Kernel_Kernel Module - Fatal编程技术网

Linux kernel 如何插入只有subsys_initcall的内核模块

Linux kernel 如何插入只有subsys_initcall的内核模块,linux-kernel,kernel,kernel-module,Linux Kernel,Kernel,Kernel Module,我正在尝试更改md.c文件并将其重新加载到内核。由于它是一个内核模块,我认为这将是一个简单的任务 但是,在阅读代码后,我发现它没有模块_init(),而是有一个子系统_initcall(),并且make命令没有为md.c创建任何.ko文件 如何根据md.c将我新更改的md.c(drivers/md/md.c)模块加载到正在运行的内核中,该文件作为md mod模块的一部分进行编译。为此,您需要将CONFIG_BLK\u DEV\u MD配置为m。您需要重建整个内核@Tsyvarev,以及它对运行内

我正在尝试更改md.c文件并将其重新加载到内核。由于它是一个内核模块,我认为这将是一个简单的任务

但是,在阅读代码后,我发现它没有
模块_init()
,而是有一个
子系统_initcall()
,并且
make
命令没有为
md.c
创建任何
.ko
文件


如何根据
md.c
将我新更改的md.c(drivers/md/md.c)模块加载到正在运行的内核中,该文件作为
md mod
模块的一部分进行编译。为此,您需要将
CONFIG_BLK\u DEV\u MD
配置为
m
。您需要重建整个内核@Tsyvarev,以及它对运行内核的帮助;b) 只有内置的文件?@Tsyvarev,好吧,我得到了b)的情况,但是a)呢?@0andriy:我的意思是当内核配置了
CONFIG\u BLK\u DEV\u md
as
m
时,
md.c
文件可以编译到单独的模块中。如果已经出现这种情况,那么可以重建模块并将其插入内核,而无需重新编译内核。否则内核需要重新编译。@Tsyvarev,我遇到了一些不同的结果。通过将
CONFIG_BLK_DEV_md
配置为
m
,我能够构建
md.c
,但是插入模块失败,因为内核中已经存在
md
。。我无法将它作为带有
lsmod
的模块找到,因此无法
rmmod
它。。