K
public

 

Kernel modul exempel

I detta repository finns:

  • Makefile för att kompilera kernel moduler med Linux build system
  • Vagrantfile en Vagrantfile för att kompilera egna kernel moduler
  • chardev-1.c källkoden för en "character device" kernel modul
  • hello-1.c källkoden för en simpel kernel modul (prova först om du får den här att fungera)

Obs! när man utvecklar kernel moduler rekommenderas det att man gör det i en virtuell maskin. Detta eftersom kernel lätt krashar när man sätter in felaktiga kernel moduler.
Obs! Se till att du har samma version av kerneln att köra som du har installerad.

Hur man gör en virtuell maskin för att kompilera kernel moduler med vagrant.

Sätt Vagrantfile filen från detta repository i en katalog.
Kör vagrant up --provider virtualbox.
När provisioneringsskriptet har kör klart utan fel, starta om den virtuella maskinen.
(Detta måste göras för att kerneln ska uppdateras). $ sudo reboot

Procedur för hello

$ make
$ insmod hello-1.ko
$ dmesg
$ lsmod
$ rmmod hello_1