Hallo zusammen,
ich habe die Fehlermeldung nicht, ist nur eine Newbie-Verständnisfrage..
Habe ich das richtig verstanden, dass hierbei RTC als Modul gesetzt ist und der Kernel der entsprechenden Major/Minor kein Modul zuweisen kann? Sprich, es fehlt lediglich der Alias-Eintrag in der /etc/modules.conf?
Oder ist einfach das Modul nicht in /lib/modules/ vorhanden?
Noch ne generelle Frage: Wenn ich aus den Kernelquellen mehrmals einen Kernel bastle, beim 1. Mal als Modul, beim 2. Mal einkompiliert: wird dann das entsprechende Modul in /lib/modules/ gelöscht oder müllt das Verzeichnis mit der Zeit zu?
Wenn es nicht gelöscht wird: wie kann ich das bereinigen? Oder ist das furchtbar egal?
Gruß
Michael
modprobe: can´t locate module char-major-10-135
-
- Beiträge: 2
- Registriert: 13.01.2007 17:42:16
modprobe: can´t locate module char-major-10-135
Der Unterschied zwischen Theorie und Praxis ist in der Praxis meist grösser als in der Theorie!
Ich versuche das mit einem Beispiel zu erklären:Michael Hilgers hat geschrieben:Habe ich das richtig verstanden, dass hierbei RTC als Modul gesetzt ist und der Kernel der entsprechenden Major/Minor kein Modul zuweisen kann? Sprich, es fehlt lediglich der Alias-Eintrag in der /etc/modules.conf?
Hinzufügen muß ich noch, daß beim Kernel 2.6, statt der modules.conf das Verzeichnis /etc/modprobe.d verwendet werden sollte
Code: Alles auswählen
root@gms4:/etc/modprobe.d# # es gibt keinen alias für char-major-10-135:
root@gms4:/etc/modprobe.d# grep -R 10-135 *
root@gms4:/etc/modprobe.d# # es gibt zwei Module für das Gerät char-major-10-135:
root@gms4:/etc/modprobe.d# grep 10-135 /lib/modules/`uname -r`/modules*
/lib/modules/2.6.18-3-686/modules.alias:alias char-major-10-135 rtc
/lib/modules/2.6.18-3-686/modules.alias:alias char-major-10-135 genrtc
root@gms4:/etc/modprobe.d# # keines davon wurde geladen:
root@gms4:/etc/modprobe.d#:~# lsmod | grep rtc
root@gms4:/etc/modprobe.d#
root@gms4:/etc/modprobe.d# modprobe char-major-10-135
WARNING: Error inserting genrtc (/lib/modules/2.6.18-3-686/kernel/drivers/char/genrtc.ko): Device or resource busy
root@gms4:/etc/modprobe.d#:~# lsmod | grep rtc
rtc 12372 0
root@gms4:/etc/modprobe.d# # es wurde versucht beide Module zu laden, das zweite (genrtc) hat einen Fehler geliefert
root@gms4:/etc/modprobe.d# # wir entladen das Modul
root@gms4:/etc/modprobe.d#:~# rmmod rtc
root@gms4:/etc/modprobe.d# # und vertauschen die zwei Zeilen in module.alias
root@gms4:/etc/modprobe.d# vi /lib/modules/2.6.18-3-686/modules.alias
root@gms4:/etc/modprobe.d# modprobe char-major-10-135
WARNING: Error inserting rtc (/lib/modules/2.6.18-3-686/kernel/drivers/char/rtc.ko): No such device
root@gms4:/etc/modprobe.d#:~# lsmod | grep rtc
genrtc 8608 0
root@gms4:/etc/modprobe.d# # es wurde versucht beide Module zu laden, das zweite (rtc) hat einen Fehler geliefert
root@gms4:/etc/modprobe.d# # jetzt fügen wir einen alias für ein nicht vorhandenes Modul ein:
root@gms4:/etc/modprobe.d# echo "alias char-major-10-135 xxxx" >local
root@gms4:/etc/modprobe.d# modprobe char-major-10-135
FATAL: Module xxxx not found.
root@gms4:/etc/modprobe.d# # keines davon wurde geladen:
root@gms4:/etc/modprobe.d#:~# lsmod | grep rtc
root@gms4:/etc/modprobe.d#
Wurde kein Alias definiert und es gibt mehrere Module, werden beide versucht zu laden.
Wenn du dich nicht als Kernelhacker versuchst, solltest du das möglichst vermeiden (EXTRAVERSION im Makefile setzen, oder bei make-kpkg die append-to-version Option verwenden)Michael Hilgers hat geschrieben: Noch ne generelle Frage: Wenn ich aus den Kernelquellen mehrmals einen Kernel bastle, beim 1. Mal als Modul, beim 2. Mal einkompiliert: wird dann das entsprechende Modul in /lib/modules/ gelöscht oder müllt das Verzeichnis mit der Zeit zu?
Gruß
gms
-
- Beiträge: 2
- Registriert: 13.01.2007 17:42:16
Hallo,
vielen Dank für diese ausführliche Antwort.
Gruß
Michael
vielen Dank für diese ausführliche Antwort.
Wohin leitest Du das echo um?root@gms4:/etc/modprobe.d# echo "alias char-major-10-135 xxxx" >local
Huch, ich hab mind. 20x einen Kernel kompiliert ohne die EXTRAVERSION-Option mit "make && make modules_install". Aber es läuft noch alles...wird dann das entsprechende Modul in /lib/modules/ gelöscht oder müllt das Verzeichnis mit der Zeit zu?
Wenn du dich nicht als Kernelhacker versuchst, solltest du das möglichst vermeiden (EXTRAVERSION im Makefile setzen, oder bei make-kpkg die append-to-version Option verwenden)
Gruß
Michael
Der Unterschied zwischen Theorie und Praxis ist in der Praxis meist grösser als in der Theorie!
Das ist auch nicht verwunderlich, in sehr vielen Fällen wird das auch gut gehen. Nachdem das aber nicht auf alle Fälle zutrifft, habe ich es auch versucht diplomatisch auszudrücken: "solltest du möglichst vermeiden"Michael Hilgers hat geschrieben:kann eine beliebige Datei im /etc/modprobe.d Verzeichnis sein. "local" habe ich gewählt, weil dieser Name von Standard-Debianpaketen nicht verwendet werden sollte.root@gms4:/etc/modprobe.d# echo "alias char-major-10-135 xxxx" >local
Wohin leitest Du das echo um?
Michael Hilgers hat geschrieben:Huch, ich hab mind. 20x einen Kernel kompiliert ohne die EXTRAVERSION-Option mit "make && make modules_install". Aber es läuft noch alles...wird dann das entsprechende Modul in /lib/modules/ gelöscht oder müllt das Verzeichnis mit der Zeit zu?
Wenn du dich nicht als Kernelhacker versuchst, solltest du das möglichst vermeiden (EXTRAVERSION im Makefile setzen, oder bei make-kpkg die append-to-version Option verwenden)
Gruß
gms