Update Kernelmodul erstellen authored by Christian Eckl's avatar Christian Eckl
# 2. Erstellen eines Kernel-Moduls
Um alles im Überblick zu haben erstellt man zuerst ein Verzeichnis für das Kernelmodul:
> $ mkdir /home/pi/Sevenseg
In dieses Verzeichnis erstellt man als erstes ein Makefile:
In diesem Verzeichnis erstellt man als erstes ein Makefile:
> $ nano Makefile
Man benötigt außerdem den ausfürbaren Code in C in diesem Verzecihnis:
Man benötigt außerdem den ausfürbaren Code in C in diesem Verzeichnis:
> $ nano sevenseg.c
## 2.1 Makefile
Das Makefile wird verwendet um den ausführbaren Code zu kompilieren hierbei ist eine spezielle Formatierung vorgegeben.
Das Makefile wird verwendet um den ausführbaren Code zu kompilieren, hierbei ist eine spezielle Formatierung vorgegeben.
```
obj-m := sevenseg.o
......@@ -23,7 +22,7 @@ clean:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
```
Da das Modul außserhalb des Kernel-Source-Trees verwaltet und kompieliert werden soll, wird in der ersten Zeile
Da das Modul außerhalb des Kernel-Source-Trees verwaltet und kompiliert werden soll, wird in der ersten Zeile
durch `obj-m := sevenseg.o` ein Makefile im eigenen Source-Tree erstellt.
Außerdem kompiliert der Eintrag `sevenseg.c` in `sevenseg.ko`.
......@@ -33,7 +32,7 @@ Hier wird das Modul in das built-Verzeichnis des aktuellen Kernels (`$(shell una
Beim entladen des Moduls wird target `clean:` aufgerufen und löscht das Modul aus dem Kernel.
Bei der Formatierung ist darauf zu Achten vor den Makebefehlen einen tab einzurücken.
Bei der Formatierung ist darauf zu Achten vor den Makebefehlen einen Tab einzurücken.
Das Makefile wird durch den Befehl `make sevenseg.c` ausgeführt und liefert folgende Systemausgabe:
```
......
......