Vorbemerkung

Nachdem der Quellcode heruntergeladen ist, wird er im Verzeichnis /usr/src abgelegt und entpackt. Eventuell kann man noch einen symbolischen Link nach /usr/src/linux anlegen.

Nach dem Entpacken stehen diverse Möglichkeiten zur Verfügung, um auf die Konfiguration zuzugreifen:

make config
  • komplett textbasierte Konfiguration
  • Optionen werden nacheinander abgefragt
  • keine Möglichkeit, während der Konfiguration auf vorhergegangene Punkte zuzugreifen
make menuconfig
  • textbasierte Konfiguration
  • Einsatz von curses/ncurses
  • Menu, dessen Unterpunkte sich jederzeit erreichen, einsehen und ändern lassen
Ansicht des Menus von make menuconfig
make xconfig
  • Konfigurationsmenu für grafische Oberfläche
  • basiert auf Qt
  • dreigeteiltes Fenster, in dem jeweilige Menupunkte, Unterpunkte und deren Beschreibung sichtbar sind.
Ansicht des Menu von make xconfig
make gconfig
wie oben, nur auf Gtk basierend
make oldconfig
Textbasierte Einstellung aller Konfigurationsoptionen, die seit der vorhergehenden Installation neu hinzugekommen sind.
make help
Gibt Auskunft zu weiteren Optionen, die hier nicht genannt wurden.

Bevor wir uns nun in die eigentliche Arbeit stürzen können, solltest du noch wissen, dass es verschiedene Möglichkeiten gibt, Treiber in den Kernel einzubinden:

  1. Die generische Methode ist, die einzelnen Bestandteile direkt in den Kernel einzubinden. Dies hat zwar den Nachteil, dass der Kernel am Ende des Kompiliervorgangs größer wird. Doch ist dadurch die theoretische Angriffsfläche verkleinert, d.h. gerade für sicherheitskritische Installationen sollte man diese Variante bevorzugen.
  2. Eine zweite Methode ist die Verwendung von sog. Modulen. Hier wird der Treiber erst dann in den Kernel mit eingebunden, wenn er wirklich benötigt wird. Die vorkompilierten Dateien befinden sich hier im Verzeichnis /lib/modules/$KERNELVERSION. Im Gegensatz zur obigen Variante ist der so gebaute Kernel kleiner. Wenn dich dies näher interessiert, kannst du weitere Informationen im Module-HOWTO (engl.) bekommen.
Vorwort Vorbereitung Code maturity level General setup Loadable module support