Exercise #8. Виртуальная файловая система. Програмный интерфейс. Ресурсы∗
Description∗
Build a simple kernel module.
Guidance∗
Использовать Git.
Использовать следующие названия директорий:
exercise08
- для проектов решений подзадач;partXX
- для проекта решения соответствующей подзадачи (XX
- номер подзадачи);src
- для исходников.Периодически отправлять изменения в удаленный репозиторий, соответствующий Вашей фамилии.
1) Build and test HelloWorld module.
ex01.c
#include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");
MODULE_AUTHOR("xone");
MODULE_DESCRIPTION("A simple example Linux module.");
MODULE_VERSION("0.01");
static int __init ex01_init(void)
{
printk(KERN_INFO "Hello!!!\n");
return 0;
}
static void __exit ex01_exit(void)
{
printk(KERN_INFO "Bye...\n");
}
module_init(ex01_init);
module_exit(ex01_exit);
Makefile
obj-m += ex01.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
test:
sudo dmesg -C
sudo insmod ex01.ko
sudo rmmod ex01.ko
dmesg
2) Build and test Procfs demo module.