Rolf Hoff wrote:
Lasst mich hier nochmals sagen, was ich suche und warum: Ich habe nur einen Einzelplatzrechner. Das Angebot des Kernels ist deshalb für mich viel zu umfangreich. Wenn ich einen Kernel kompiliere, dann eigentlich nur, um im Kernel unbenutzte Angebote zu deaktivieren. Eine zusätzliche Aktivierung (wie z.B. für das SCSI-Modul "Advansys" o.ä.) bleibt selten. (Ich weiß, ich könnte viel von dem hier Gesagten auch sein lassen).
Es waere nicht unbedingt noetig, das ist richtig. Der SuSE Kernel ist modular aufgebaut, von Dir nicht benoetigte Module sind zwar physikalisch auf der Festplatte vorhanden und nehmen ein bissl Platz weg, aber sie werden nicht geladen. Aehnlich kann man theoretisch auch mit eigenen Kerneln verfahren. Aber man kann auch - wie Du schreibst - die Konfiguration abspecken oder aendern.
Aufgrund meiner Erfahrungen mit Kernel ab SuSE-Version 6.4 habe ich mir vermerkt, dass jeder neue Kernel nicht nur neue Angebote enthält, sondern das auch immer wieder vorher vorhandene Module entfallen. Mit "make oldconfig" wird ein Abgleich Alt gegen Neu m.E. nicht komplett (wie in einer Buchhaltung) nachvollzogen. (Das kann falsch sein, ich weiss es nicht besser. )
Das verstehe ich nicht ganz... Ein "make oldconfig" hat eine ganz bestimmte Aufgabe, nicht mehr, nicht weniger. Die Aufgabe ist (vereinfacht ausgedrueckt), die Konfigurationspunkte, die beim alten und neuen Kernel identisch sind, zu uebernehmen. Punkte, die beim neuen Kernel entfallen sind, wirst Du dabei nicht zu Gesicht bekommen. Punkte, die neu beim neuen Kernel sind, werden Dir angezeigt und Du wirst ueber deren Aktivierung gefragt. Mehr macht das "make oldconfig" nicht. Aber das ist i.d.R. genau das, was man braucht, um sich eine gute Ausgangsbasis fuer eine neue Kernel-Konfig zu schaffen.
Ein "make oldconfig" bietet mir z.B. auch keine neuen Positionen zur An- oder Abwahl an, wenn bereits eine Auswahl getroffen ist (wer immer diese dann wohl gemacht hat ?).
Wenn es schon eine "Auswahl" gibt, dann ist die Position ja auch nicht neu, sie war ja schon in der alten .config enthalten. Deswegen bekommst Du sie nicht angezeigt; das "make oldconfig" macht eben genau das, was ich oben beschrieben habe.
Mit meiner jeweils alten ".config"-Datei schreibe ich nun meine ",config" von Kernel zu Kernel manuell fort. U.a. deshalb, weil ich so im Kernel jeweils deaktivieren kann, wofür ich keine Verwendung habe. (Weil ich grundsätzlich mit den Angaben von "make oldconfig" keine Entscheidung treffen kann - ohne Hinzuziehung der Erläuterungen von "make xconfig" -)
Ich verstehe Dein Vorgehen, und wie die anderen schon schrieben, kannst Du es manuell vergleichen. Ich bevorzuge es jedoch, die alte Konfiguration per "make oldconfig" erst einmal zu uebernehmen soweit es geht (von der alten Konfig weiss ich ja, dass sie funktioniert), und dann gehe ich ueber "make xconfig" nochmal die Liste durch und schaue mir Dinge an, fuer die ich mich naeher interessiere. Das Vorgehen ist sicher Geschmackssache, muss jeder fuer sich entscheiden.
Die Makefile und auch andere Dateien steuern sicher den Kernel. Aber bei mir ist Makefile nicht sowas wie eine Kopie von ".config".
Habe ich auch nicht geschrieben. Die .config wird im Makefile eingebunden und anhand der .config steuert das Makefile letztendlich das, was es zu compilieren gilt. Ist sehr vereinfacht ausgedrueckt, das Build-System fuer den Kernel ist doch etwas komplizierter. Mit der eigentlichen Konfiguration hat das Makefile nichts zu tun.
[...] Gibt es eine Möglichkeit, d.h. einen Befehl, um ".config"-alt gegen ".config"-neu auszulesen mit plus und minus für beide Seiten (alt und neu) , wobei auch unterschiedliche Aktivierung (y/m) angezeigt wird. Wie würde man dafür eine Auswahl treffen können, so dass nur unterschiedliche Angaben dargestellt werden Kann das eventuell auch "diff", wenn ja wie?
Antworten darauf hast Du ja schon bekommen. Unabhaengig von Davids Bedenken ueber ein Vergleich per "diff" denke ich, der folgende Befehl koennte evtl. in die Richtung gehen, die Du moechtest: $> sdiff /src/alt/.config /src/neu/.config | less Gruesse, Thomson