Inhaltsverzeichnis

Allgemein

Wie bei anderen unixoiden Systemen auch muss für den Zugriff des Systems auf die Hardware ein entsprechendes Kernelmodul geladen werden. Dies kann einerseits durch fest einkompilierte Treiber oder durch nachgeladene Treiber geschehen. Im Folgenden werden die Kernelmodule für den Zugriff des Rechners auf die Soundkarte geladen. Das bauen eines eigenen Kernels wird hier explizit nicht behandelt.

Suchen des richtigen Kernelmoduls

In den Releasenotes der entsprechenden FreeBSD-Version wird darauf hingewiesen welche Hardwarekompartibilitäten vorhanden sind. Dabei wird direkt das dafür notwendige Kernelmodul angegeben. Die Releasenotes sind wie folgt zu finden:

Für den im Beispiel vorliegenden nForce3-Chipsatz findet sich der Hinweis auf den Treiber snd_ich. Durch Klicken auf den Treibernamen oder durch aufrufen der Manpage des Treibers erhält man mehr Informationen.

% man snd_ich

man snd_ich (Beispiel)

Hier die Ausgabe von man snd_ich. Die Ausgabe enthält alle wichtigen Details über den Treibernamen und die notwendige Konfigurationszeile für /boot/loader.conf.

NAME
     snd_ich -- Intel ICH AC'97 and compatible bridge device driver

SYNOPSIS
     To compile this driver into the kernel, place the following lines in your
     kernel configuration file:

\t   device sound
\t   device snd_ich

     Alternatively, to load the driver as a module at boot time, place the
     following line in loader.conf(5):

\t   snd_ich_load="YES"
[...]

Laden des Kernel Moduls

Um zu testen ob das Kernelmodul das richtige ist kann es durch den User root ins laufende System geladen werden. Um überhaupt erst die Möglichkeit zu haben Soundkarten nutzen zu können muss jedoch zuvor das Modul sound.ko geladen werden. (Hinweis: Welche Module bereits geladen sind kann mit dem Aufruf von kldstat als root angezeigt werden).

# kldload sound

Nachdem die Soundunterstützung vorhanden ist wird das entsprechende Modul, in diesem Falle snd_ich geladen.

# kldload snd_ich

Wenn es sich um das richtige Modul gehandelt hat sollte nun der Sound funktionieren.

Die Konfiguration festschreiben

In der Datei /boot/loader.conf können dem Kernel beim Booten Einstellungen mitgegeben werden. Unter anderem können hier zur Bootzeit Module geladen werden. Die notwendigen Einstellungen stehen ebenfalls in der Manpage des Treibers.

In diesem Fall wird die /boot/loader.conf um die beiden folgenden Zeilen ergänzt:

sound_load="YES"
snd_ich_load="YES"

Mit diesem Einstellungen sollten nun bei jedem Start des FreeBSD-Systems die Soundtreiber geladen werden.