Changes
Page history
Update Kernelmodul erstellen
authored
Jan 22, 2018
by
Christian Eckl
Show whitespace changes
Inline
Side-by-side
Kernelmodul-erstellen.md
View page @
82ea25f8
# 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 diese
s
Verzeichnis erstellt man als erstes ein Makefile:
In diese
m
Verzeichnis erstellt man als erstes ein Makefile:
> $ nano Makefile
Man benötigt außerdem den ausfürbaren Code in C in diesem Verze
c
ihnis:
Man benötigt außerdem den ausfürbaren Code in C in diesem Verzei
c
hnis:
> $ 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ß
s
erhalb des Kernel-Source-Trees verwaltet und kompi
e
liert 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
t
ab einzurücken.
Bei der Formatierung ist darauf zu Achten vor den Makebefehlen einen
T
ab einzurücken.
Das Makefile wird durch den Befehl
`make sevenseg.c`
ausgeführt und liefert folgende Systemausgabe:
```
...
...
...
...