Home · Kontakt · Impressum
contents index previous up next
Next: 14.5.8 depmod Up: 14.5 Verwaltung von Kernelmodulen Previous: 14.5.6 modprobe


14.5.7 Modulabhängigkeiten: modules.dep

Die Informationen über die Abhängigkeiten eines Moduls von anderen Kernelmodulen findet das Programm modprobe in der Datei /lib/modules/Kernel-Version/modules.dep. Die Zeilen mit den Abhängigkeiten sehen wie folgt aus:

modulname.o:	Abhängigkeit_1 Abhängigkeit_2 ...

Hier ein Beispiel für das ext3-Dateisystem aus der modules.dep

ole@enterprise:/lib/modules/2.4.10-4GB> grep ext3 modules.dep
/lib/modules/2.4.10-4GB/kernel/fs/ext3/ext3.o:
	/lib/modules/2.4.10-4GB/kernel/fs/jbd/jbd.o

Alle für das System zur Verfügung stehenden Module sind hier aufgelistet mit den Modulen, auf denen sie basieren. Sollte das Modul keine anderen Module benötigen, wird es trotzdem in der Datei aufgeführt. Wenn jetzt mit modprobe ein Modul geladen werden soll, so konsultiert das Programm erst diese Datei und lädt die benötigten Module zuerst. Erst wenn alle benötigten Module eingebunden worden sind, dann wird auch das eigentlich angeforderte Modul geladen.

Die Datei modules.dep muß immer auf dem neuesten Stand sein. Sollte sich in den Abhängigkeiten etwas geändert haben ohne daß diese Änderung hier erfaßt wurde, dann kann modprobe eventuell Module nicht erfolgreich in den Kernel einbinden. Aus diesem Grund wird in den meisten Distributionen diese Datei bei jedem Start des Systems mittels des Befehls depmod neu erstellt. Bei SuSE 7.3 erfolgt dies in der Datei /etc/rc.d/boot wie im folgenden Ausschnitt zu sehen ist.

#
# initialize database for kerneld.  This should be done earlier, but
# could cause a lot of trouble with damaged file systems.
# restart of kerneld will be done by /etc/init.d/kerneld
#
MODULES_DIR=/lib/modules/`uname -r`
if test -x /sbin/depmod -a -d $MODULES_DIR ; then
    for i in $MODULES_DIR/* $MODULES_DIR/*/* /etc/modules.conf ; do
        test -e $i || continue
        if test $i -nt $MODULES_DIR/modules.dep ; then
            rm -f $MODULES_DIR/modules.dep
            break
        fi
    done
    if test ! -e $MODULES_DIR/modules.dep ; then
        echo -n Setting up $MODULES_DIR
        /sbin/depmod -a > /dev/null 2>&1
        rc_status -v -r
    fi
fi


contents index previous up next
Next: 14.5.8 depmod Up: 14.5 Verwaltung von Kernelmodulen Previous: 14.5.6 modprobe
  © 2004 by IT-Dozent Ole Vanhoefer · Zum Seitenanfang