Puncte:0

Modulul nu poate fi introdus prin „sudo insmod ' pe Ubuntu 20.04.3 LTS

drapel cn

Am un modul linux simplu pe care vreau să-l construiesc și să-l inserez în nucleu, dar am niște probleme în partea „sudo insmod <module_name>”. Ubuntu rulează pe o gazdă Win10 prin VirtualBox.

Alți doi prieteni au făcut aceiași pași și le-a funcționat. Unul are versiunea de kernel 5.11.0-40, în timp ce celălalt are aceeași ca mine, 5.11.0-41.

Modulul „linux_module.c” arată astfel:

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

MODULE_LICENSE("GPL");

__init int init_module(void)
{
    printk (KERN_INFO "Bună lume din modulul linux\n");
    întoarce 0;
}

__exit void cleanup_module(void)
{
}

Makefile: obj-m = obj-m += linux_module.o

KVERSIUNE = $(shell uname -r)

modulele toate:
        make -C /lib/modules/$(KVERSION)/build M=$(PWD) module
curat:
        face -C /lib/modules/$(KVERSION)/build M=$(PWD) curat

Folosind „make all” îmi returnează:

make -C /lib/modules/5.11.0-41-generic/build M=/home/soberflow/Documents/BS/KernelModule/LinuxModule module

make[1]: se introduce în directorul „/usr/src/linux-headers-5.11.0-41-generic”

CC [M] /home/soberflow/Documents/BS/KernelModule/LinuxModule/linux_module.o

MODPOST /home/soberflow/Documents/BS/KernelModule/LinuxModule/Module.symvers

CC [M] /home/soberflow/Documents/BS/KernelModule/LinuxModule/linux_module.mod.o

LD [M] /home/soberflow/Documents/BS/KernelModule/LinuxModule/linux_module.ko

make[1]: se părăsește directorul „/usr/src/linux-headers-5.11.0-41-generic”

Primesc următoarea eroare:

insmod: EROARE: nu s-a putut introduce modulul linux_module.ko: Format de modul invalid

Cu „modprobe <nume_modul>” spune următoarele:

modprobe: FATAL: Modulul linux_module.ko nu a fost găsit în directorul /lib/modules/5.11.0-41-generic

Are cineva idee care ar putea fi problema?

Bodo avatar
drapel pt
Unde este fișierul `linux_module.ko`? Ați instalat fișierul modulului kernel în `/lib/modules/5.11.0-41-generic`? Consultați https://www.kernel.org/doc/html/latest/kbuild/modules.html
drapel cn
`linux_module.ko` se află în același director ca `linux_module.c` și `Makefile` sub `/home/soberflow/Documents/BS/KernelModule/LinuxModule/` Nu am instalat deloc fișierul modulului kernel, dar aș putea încerca asta, cred. Singurul lucru ciudat este că ceilalți doi prieteni nu au trebuit să facă acel pas, dacă asta este problema mea. Dar o voi încerca indiferent, mulțumesc.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.