ОШИБКА: не удалось вставить модуль Неправильный формат модуля

root@vm# insmod ./test01.ko

insmod: ERROR: could not insert module ./tes01.ko: Invalid module format

мой c файл test01.c

#include <linux/module.h>
#include <linux/kernel.h>

int init_module(void)
{
    printk(KERN_INFO "Hello World!");
    return 0;
}

void cleanup_module(void)
{
    printk(KERN_INFO "Unloading test01 module\n");
}

основанный на модуле test01.c

#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/init.h>

static int __init load_module(void)
{
    printk(KERN_INFO "Hello World!");
    return 0;
}

static void __exit unload_module(void)
{
    printk(KERN_INFO "Unloading test01 module\n");
}

module_init(load_module);
module_exit(unload_module);

Makefile

obj-m += test01.o

all:
    make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules

clean:
    make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean

сделать нормально работает вывод modinfo

root@vm$ modinfo test01.ko
filename:       /test01/test01.ko
srcversion:     5AF577C6F26F6B146320283
depends:        
vermagic:       4.0.0-rc5+ SMP mod_unload modversions 

моя версия ядра uname -a

3.19.0-rc1+

вывод dmseg

[ 1470.217197] test01: disagrees about version of symbol module_layout

Мне кажется, проблема в том, что моя вермагичность из modinfo - 4.0, а версия ядра - 3.19. Некоторое время назад я скомпилировал исходный код ядра (не знаю, какой), а также установил его make -j2 && sudo make modules_install

Я не знаю, почему существует несоответствие в версии ядра?

0 ответов

Другие вопросы по тегам