linux-device-driverНачало работы с драйвером linux-device


замечания

В этом разделе представлен обзор того, что такое драйвер linux-device, и почему разработчик может захотеть его использовать.

Также следует упомянуть любые большие темы в драйвере Linux-устройства и ссылки на связанные темы. Поскольку Documentation для linux-device-driver является новым, вам может потребоваться создать начальные версии этих связанных тем.

Драйвер устройства Hello World

hello_world.c

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

#define AUTHOR  "Bruce Lee"
#define DESC    "Hello World driver"

static int __init init(void)
{
    printk(KERN_DEBUG "Hello World\n");
    return 0;
}

static void __exit deinit(void)
{
    printk(KERN_DEBUG "Goodbye World\n");
}

module_init(init);
module_exit(deinit);

MODULE_LICENSE("GPL");
MODULE_AUTHOR(AUTHOR);
MODULE_DESCRIPTION(DESC);
 

Makefile:

KDIR ?= /lib/modules/`uname -r`/build
obj-m += hello_world.o

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

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

Как скомпилировать:

$ make
 

Как вставить модуль:

$ sudo insmod hello_world.ko
 

Как видеть сообщения печати

$ dmesg
 

Как перечислить модуль / с

$ lsmod | grep hello_worls
 

Как удалить модуль

$ sudo rmmod hello_world
 

Установка или настройка

Подробные инструкции по установке или установке драйвера linux-device.