summaryrefslogtreecommitdiff
path: root/README
blob: d8c522c19862aea9089bd90792913fe07a8659d9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
Linux Kernelprogrammierung - Sommersemester 2018
================================================
Manuel Traut <manut@mecka.net>

Organisatorisch
---------------

Termine:
~~~~~~~~

19.03

09.04

16.04

23.04

07.05

14.05

28.05

04.06 Ersatztermin

11.06 Ersatztermin

18.06 Ersatztermin

Prüfung:
~~~~~~~~
schriftlich, 60 Minuten

Hilfsmittel: selbst verfasste Mitschriebe

Material:
~~~~~~~~~
http://mecka.net/hswgt


/k102_data/kernelprogrammierung/


Script:
~~~~~~~
Mitschriebe gerne an
manut@mecka.net

Literatur:
~~~~~~~~~~
http://lwn.net

http://heise.de/open <- Kernel Log

http://kernelnewbies.org

Corbet, Rubini, Kroah-Hartmann: Linux Device Drivers 3rd Edition
  http://lwn.net/Kernel/LDD3

Kroah-Hartmann: Linux Kernel In A Nutshell
  http://www.kroah.com/lkn


Bewertung:
~~~~~~~~~~
http://www.meinprof.de/uni/prof/51131

geplante Themen:
----------------

Termin1
~~~~~~~

- Linux Desktop vs. embedded Linux:
 * Kernel vs. Userspace
 * Fedora, Debian, ubuntu ..
 * Android
 * KDE / GNOME
 * CPU Architekturen

- Kernelentwicklung
 * Versionierung
 * Mainline / Maintainer
 * Entwicklungsmodell

- Übungen: Versionskontrolle
 * diff / patch
 * git

Termin2
~~~~~~~
- Überblick Kernel Dokumentation

- Entwickeln für ARM64

- Übungen Kernel (ARM64):
  * Kernel konfigurieren
  * Kernel kompilieren
  * Kernel booten

Termin3:
~~~~~~~~
- Kernelarchitektur
  * Core
  * Driver
  * Arch
  * Coding Style
  * Review verschiedener Treiber

- Datenuebergabe zwischen Userspace und Kernel

- Übungen Kernelmodule
  * 1. Kernelmodul 'Hello world'
  * registrieren bei Subsystemen (char dev)

Termin 5
~~~~~~~~
- Theorie & Übung: Kernelprogrammierung 'LED PCI Driver'

Termin 6
~~~~~~~~
- Theorie & Übung: Kernelprogrammierung 'LED PCI Driver'

Termin 7
~~~~~~~~
- Theorie & Übung: Tracing/Debugging des eigenen Treibers