Kernel compile "Hello world"

Compile minimal linux kernel module.

Files

You need to create to files Makefile and hello_world.c.

Makefile

obj-m += hello_world.o

KDIR ?= /lib/modules/$(shell uname -r)/build

all:
    make -C $(KDIR) M=$(PWD) modules

clean:
    make -C $(KDIR) M=$(PWD) clean

hello_world.c

//http://www.tldp.org/LDP/lkmpg/2.4/html/c147.htm
#include <linux/module.h>  /* Needed by all modules */
#include <linux/kernel.h>

int hello_world_init( void )
{
    printk(KERN_DEBUG "Hello World!\n");
    return 0;
}

void hello_world_exit( void )
{
    printk(KERN_DEBUG "Exit Hello World!\n");
}

module_init( hello_world_init );
module_exit( hello_world_exit );

MODULE_LICENSE("GPL");

Compile

Now if you havent done so ... install kernel headers of kernel that your system have now. And everything should be there.

make