Moin Thorsten

Thorsten Haude wrote:

Trotzdem würde ich gerne wissen, wie die Sache passieren konnte,
besonders:
- An welchen Stellen außer in /usr/src/linux werden Informationen über
den Kernel aufbewahrt, vor allem solche, die durch 'make dep', 'make
clean' und ihre Kumpels nicht beeinflußt werden?
- Wie ist der Zusammenhang zwischen /usr/src/linux und
/lib/modules/$version?

Ich verstehe zwar auch nicht viel von dem Thema, aber vielleicht fühlt sich jemand, der davon etwas versteht, animiert, mein möglicherweise nur so von Unsinn strotzenden Geschreibsel zu korrigieren. ;-)

Meines Wissens liegt - falls Du nicht in den verschiedenen makefiles innerhalb des src-Verzeichnisses händisch eingegriffen hast - nichts außerhalb dieses Verzeichnisses. Es landen dann nur die "Endprodukte" in /usr/lib und Deinem boot-Verzeichnis (/ oder /boot normalerweise). Das auch wieder mehr oder weniger automatisch. Abhängig davon, welchen Weg du nimmst.

Allerdings bleiben alle "Zwischenprodukte" innerhalb des src-Verzeichnis liegen. Diese Dateien werden beim nächsten Bauen des Kernels mitbenutzt, obwohl du die entsprechenden Config-Parameter vielleicht schon wieder deaktiviert hast. Um hier trotzdem einen sauberen Stand hinzubekommen, gibt es die make-Parameter clean, mrpropper und was weiß ich noch, die in verschiedener Gründlichkeit diese Zwischenprodukte löschen.

Möglicherweise gibt es noch eine andere Fehlerquelle. make *config ist intelligent. Verschiedene Parameter hängen voneinander ab. Wenn Du die Datei manuell bearbeitest, könntest Du diese Abhängigkeiten missachten und "unresolved symbols" erzeugen.

Für den Namen des Kernels gibt es auch wieder verschiedene Parameter (s. Makefile): VERSION, PATCHLEVEL, EXTRAVERSION, ..., die man (teilweise) als Umgebungsvariablen setzen kann. Damit entsteht dann z.B. so ein Kernelname:

Linux flinker 2.4.18-erno.005 #1 Tue Sep 24 21:44:13 CEST 2002 i686 unknown
^^^^^^^^^^^^^^^
Genau dieser Name bestimmt dann auch den Namen des zugehörigen Modulverzeichnisses:

erno@flinker:/usr/src/linux$ ls -l /lib/modules
total 7
drwxr-xr-x 12 root root 1024 May 20 2002 2.2.19-ide
drwxr-xr-x 4 root root 1024 Sep 11 23:52 2.4.18
drwxr-xr-x 4 root root 1024 Aug 18 20:31 2.4.18-DMA
drwxr-xr-x 4 root root 1024 Sep 14 00:07 2.4.18erno0003
drwxr-xr-x 4 root root 1024 Sep 21 16:16 2.4.18-erno.004
drwxr-xr-x 5 root root 1024 Oct 6 19:36 2.4.18-erno.005

Wenn Du also Dein ursprüngliches config-file aus dem /usr/src/linux wegsicherst, dann dort ein make mrproper clean ... (schau in die Doku, was es alles gibt und was notwendig ist) machst, Dein lib-Verzeichnis löschst (oder lieber erst einmal umbenennst), müsstest Du wieder einen sauberen Ausgangszustand bekommen. Zu vergessen ist dabei natürlich auch nicht, die notwendigen Schritte bzgl. Module durchzuführen.

Sorry, dass ich mich so allgemein ausgedrückt habe. Ich schreibe es lieber so, als falsche Begriffe zu verwenden. Mein Gedächtnis... ;-)
Außerdem mache ich das mittlerweile alles mit make-kpkg. Dann dauert ein Kernel zwar etwas länger (weil von Hause aus wohl gründlich aufgeräumt und neu compiliert wird), aber man kann nicht so viel vergessen. Nur der letzte Schritt (lilo) gefällt mir standardmäßig nicht so ganz. Das mach ich lieber manuell, weil ich den bisherigen Kernel mit dem bisherigen Namen dort eingetragen haben möchte.

Ab nach /dev/null ?

Gruß
Rüdiger
--


__________________________________________________________________

Gesendet von Yahoo! Mail - http://mail.yahoo.de
Möchten Sie mit einem Gruß antworten? http://grusskarten.yahoo.de


--
Häufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)

Antwort per Email an