Operating Systems 2014F: Tutorial 7: Difference between revisions
No edit summary |
|||
Line 36: | Line 36: | ||
===Makefile (for simple)=== | ===Makefile (for simple)=== | ||
<source lang=" | <source lang="make"> | ||
obj-m := simple.o | obj-m := simple.o | ||
KDIR := /lib/modules/$(shell uname -r)/build | KDIR := /lib/modules/$(shell uname -r)/build |
Revision as of 18:32, 11 November 2014
In this tutorial you will be learning about the basics of Linux kernel modules and character devices.
- Download the source for [this simple module].
Source
simple.c
#include <linux/module.h>
#include <linux/init.h>
#include <linux/kernel.h>
static int __init simple_init(void)
{
printk ("Hello kernel world!\n");
return 0;
}
static void __exit simple_exit(void)
{
printk ("Goodbye kernel world.\n");
return;
}
module_init(simple_init);
module_exit(simple_exit);
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Anil Somayaji <soma@scs.carleton.ca>");
MODULE_DESCRIPTION("A simple module");
Makefile (for simple)
obj-m := simple.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules