PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Alte Kernel einstellungen mitverwenden?


Tanja D.
16.11.01, 11:34
Hallo,

ich will mir jetzt einen neuen Kernel backen und will die Module die ich sowieso immer brauche fest drin haben. Den Kernel den ich jetzt habe wurde aus default Packages beim Instalieren erstellt. Jetzt habe ich Sources und will aber beim Kompielieren, dass die alte Konfiguration mitübernommen wird (Ich schaffe es nicht von Anfang alles genauso einzustellen). Deswegen die Frage: wie kann man die aktuelle Kernelkonfiguration mit in den neuen Kernel übernehmen? Geht das überhaupt?

Danke

melody lee
16.11.01, 11:57
NImm einfach die .config, die Du jetzt in /usr/src/linux liegen hast als Ausgangsbasis. ("Load configuration from file", falls Du "make xconfig" benutzt)

Ilja
16.11.01, 11:58
wenn du die .config deiner kernel-konfiguration hast, dann kopier diese in das neue quellen-verzeichnis und mach ein
make oldconfig

Tanja D.
16.11.01, 13:41
hi Ihr,

da ich von den Packages instaliert habe, gibt es bei mir kein ".config" unter /usr/src/linux nur ein leeres "include"!

Aber "make oldconfig" kann mir wohl das alte Abbild der Konfiguration erstellen, stimmt? Und muss man dann doch noch so wie "melody lee" schreibt diese Konfiguration mit "Load configuration from fille" einlesen, oder nicht mehr?

Danke

sebastian schneider
17.11.01, 22:33
Hallo,

bei manchen Distris kannst du in /usr/src/linux den Befehl "make cloneconfig" verwenden, um die Konfiguration des aktuell-geladenen Kernels in die .config zu schreiben. Dazu muss jedoch der Kernel dieses Feature auch unterstuetzen. Die make-Routine saugt sich in diesem Fall die aktuelle Konfiguration aus den proc-Filesystem.

Basti

pitfl
18.11.01, 15:14
Hi,
wenn Du Suse benutzt, steht deine Orginal config im Bootverzeichnis.
Also make xconfig starten und bestehende Config aus dem Bootverzeichnis einlesen. Danach kannst Du Deinen Bedüfnissen entsprechend, noch Änderungen vornehmen.
mfg
pit

Tanja D.
19.11.01, 13:56
Hallo Leute :)

lieben dank für Eure Hilfe, aber der Erste Schrit mit dem Erstellen der ".config" mit "make oldconfig" will schon mal nicht klappen. Somit kann ich nix brauchbares beim "make" einlesen! :(

Wenn ich "make oldconfig" ausführe rödelt er ganz viel, aber die ".config", die erstellt wird, stimmt überhaupt nicht mit meinen jetzigen Kerneleinstellungen :(

Es werden irgendwelche zufälligen Einstellungen gespeichert, aber meine jetzigen sind nicht dabei, nicht mal vfat und die Netzwerkkartenmodule wurden mitübergeben, damit kann ich davon keinen neuen Kernel erstellen, ohne komplett wieder alles einzustellen und das kann ich nicht, da es zu viele sind :(


Funktioniert das bestimmt bei Euch? Warum klappt das dann bei mir nicht?
BTW: Der jetzige Kernel ist 2.4.4 und der neue 2.4.9

Hillfe!
Bidde, Bidde :)

sebastian schneider
19.11.01, 18:01
Hallo,

du scheinst ja einen neuen Kernel (2.4.9) benutzen zu wollen, somit kannst du weder im Falle von SuSE die config aus dem Bootverzeichnis benutzen, noch irgend eine andere Kernel2.4.4.config. Jedoch der Befehl "make cloneconfig" muesste funktionieren, zumindestens bei den neuen SuSEs. In diesem Fall fragt dich die Make-Routine, wie die Einstellungen fuer die dazugekommenen Kernel-Funktionen sein sollen, die "alten" Funktionen werden vom aktuell laufenden Kernel uebernommen.

bye

PS: Was fuer 'ne Distri benutzt du. Laut Ausgangskernel und Updatekernel könnte es SuSE7.2 sein. Oder nicht? ;)

pitfl
19.11.01, 21:58
Hallo Tanja,
es führen sicher viele Wege zum Ziel. Ich bin auch kein Kernelexperte, ich benutze jedoch auch Suse ab Version 7.1 (jetzt 7.3). Ein direktes ausführen von make oldconfig, hat bei mir auch nie richtig geklappt. Ich habe mir schon mehrere Kernel erfolgreich gebacken, deshalb noch einmal eine konkrete Anleitung.
Benutze nach Möglichkeit ein bz2 File von Suse, da diese modifiziert sind. Mit den Sourcen von Kernel.org habe ich in Verbindung mit Suse keine guten Erfahrungen gemacht. (warum soll es eigentlich 2.4.9 sein?)
Also los gehts:

- Kopieren der Kernel Sourcen linux-2.4.9.SuSE-x.tar.bz2 nach /usr/src
- Entpacken mit tar xvfI linux-2.4.9.SuSE-x.tar.bz2
- vom entpackten Verzeichnis einen symbolischen Link erstellen
Ln -s linux-2.4.9.SuSE linux
- wechseln in das Verzeichnis /usr/src/linux
- ausführen von make xconfig
-Load Configuration from File anklicken
- Pfad zum Config File angeben /boot/vmlinuz.config
- Mit Speichern make xconfig beenden.
- jetzt make oldconfig ausführen,
- wieder mit speichern make xconfig verlassen
- wenn Du noch Änderungen vornehmen willst kannst Du make xconfig erneut aufrufen (zb. Deinen Prozessortyp auswählen,
oder Sachen die Du nicht nutzt herausschmeißen).
- ändere nur Einstellungen wo Du Dir absolut sicher bist.
wieder speichern und verlassen.
make dep
make bzImage
Danach Module erstellen und installieren
Denke daran, Deinen alten Kernel zu sichern (vmlinuz, Systemmap, und initrd)
Noch ein Hinweis, wenn Du Deinen Neuen Kernel ins Bootverzeichnis kopierst und ihn von bzImage nach vmlinuz umbenannt hast, mußt Du noch an der Konsole mit mk_initrd eine neue Ramdisk erstellen.
Solltest Du Dich mit der Sicherung des alten Kernels bzw. der Einbindung in Lilo nicht auskennen , dann melde Dich noch mal.
Viel Erfolg
pit

Tanja D.
21.11.01, 08:03
Hallöchen :-)


Danke Euch allen für die Beschreibungen (pitfl: das war schön ausführlich:)), aber mein Problem liegt nicht im Einlesen der Konfiguration und nicht in dem nachfolgenden Kompilieren, sondern dass ich die <b>Konfigurationsdatei des aktuellen Kernels</b> nicht (mehr) habe und jeder Versuch diese zu erstellen bringt mir total von der Ralität abweichende Konfigdatei :(

Ist hier Linux wirklich am Ende seiner Fähigkeiten? BTW: "make cloneconfig" gibt es bei mir nicht, da mein OS Debian/GNU (Mischung aus woody/sid) ist. Aber es müsste doch was für alle Distries geben, oder? :confused:

Danke

pitfl
21.11.01, 09:03
Hallo Tanja,
Du hast noch die Möglichkeit, die Werte Deines aktuell laufenden Kernels, aus der Datei /proc/config.gz zu verwenden.
mfg
pit

Tanja D.
21.11.01, 19:48
Hallo :)

Ja, genau so was habe ich gesucht, aber die Kernelreihe 2.4.X hat dieses Feature nicht mehr :(

Oder weiss jemand ob und wo man dies unter 2.4 findet??

Danke noch mal an alle :)

pitfl
21.11.01, 22:02
Hi,
was soll denn das. Selbstverständlich kannst Du bei den standardmäßigen Susekerneln aus /proc/config.gz die Einstellungen des aktuell laufenden Kernels auslesen. Das war schon so bei Kernel 2.2.x und ist jetzt, bei 2.4 13 immer noch so.:D
mfg
pit

Ilja
22.11.01, 15:54
nicht sehr hilfreich aber...
zitat von tanja:
"...make cloneconfig" gibt es bei mir nicht, da mein OS Debian/GNU (Mischung aus woody/sid) ist..."
wer lesen kann ist klar im vorteil ;)

pitfl
22.11.01, 17:38
Sorry,
hatte ich wirklich überlesen.
mfg
pit