Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: GentooForum.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

14.02.2011, 09:37

Geänderte Kernel-config wird nicht übernommen (manuell und genkernel)

Hallo zusammen,

ich hab mal wieder so meine Probleme beim Kernel-backen.

Schwierigkeit ist, dass mein Kernel nicht starten kann, da er offensichtlich mit ext4 der Root-Partition nicht arbeiten kann. Der letzte manuell erstellte Kernel versucht es auch mit einigen Dateisystemen, ext4 fehlt allerdings.

Muss man im Kernel aktivieren, ja! Aber... Egal ob ich genkernel oder die manuelle Variante wähle, ihm sind meine Anpassungen anscheinend völlig egal...

Ich bin mittels --menuconfig eingestiegen und lade mir dann eine vorbereitete .config, die ich vorher an meinem anderen Rechner erstellt habe (und unter /usr/src speichere). Aber auch, wenn ich die Parameter neu eingebe, startet er mir nicht mit ext4 (ja, sie sind fest hinterlegt und nicht als Modul).

Das Problem hatte ich früher auch. Genkernel erstellt auf jeden Fall einen neuen Kernel, aber läd die ganzen Module wie bei der Live-CD, das hab ich definitiv so nicht hinterlegt.

Was mache ich also? Nach meinen Anpassungen gehe ich aus dem menuconfig mittels exit aus, er fragt mich, ob ich die Änderungen in der Konfiguration speichern will, ich sage natürlich ja und dann wird der Kernel erstellt.

Die Befehle sind entweder "genkernel --bootloader=grub --menuconfig all" oder das normale make, wenn ich ihn manuell baue. Der Symlink auf den Kernel ist richtig gesetzt (hab ja nur einen bei dem neuen System), die Boot-CD ist ungefähr ein halbes Jahr alt, ext4 konnte ich damit ja auch erstellen, und ich starte die Kernel-Programme aus /usr/src/linux heraus.

Ich hab mir dann mal aus meinem funktionierenden System den Kernel einfach rüberkopiert (ist allerdings der 2.6.37, ich will auf dem anderen Rechner auf stable aufsetzen, ist der 2.6.36-r5) und damit gestartet, dann "zcat /proc/config.gz > /usr/src/.config" ausgeführt und was weiss ich alles... Damit müsste er ja, falls ich doch mit dem File System was falsch gemacht habe, auch mit dem neu erstellten Kernel booten, mit dem "fremdkopierten" tut er es doch auch. Ich habe wirklich keine Ahnung, woran das liegt... Warum ich nicht einfach den fremdkopierten Kernel nehme? Weil ich auf dem einen Rechner eine ATI und auf dem anderen eine Nvidia-Karte habe, da kann man dann nach dem Bootvorgang kaum was erkennen...

Ja, die Anleitungen habe ich alle gelesen... *g*. Das Einzige, was mir noch aufgefallen ist, dass ich die System.map beim manuellen Kernel nicht mit auf /boot kopiert habe, in der normalen Gentoo-Anleitung steht davon aber auch nix.

Ich bin wirklich ratlos, warum mich mein Gentoo so böse ignoriert, macht man doch nicht!

Ich sag schon mal danke!!!
Suse

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Suseberlin« (18.02.2011, 09:18)


2

14.02.2011, 10:30

Wenn Du eine Config andere Config laden möchtest, darfst Du die config nicht unter .config speichern, sondern unter einen anderen Namen.

Ich speichre die immer unter /usr/src/linux/CONFIG.

Wenn ich dann im Menü bin, gehe ich auf Load Kernel Config und gebe CONFIG ein.

Dann auf Save Kernel Config und .config eingeben.

Alternativ kannst Du die config auch in in /etc/kernels/kernel-config-x86-2.6.37-gentoo (Anpassen) speichern.

Gruß

3

14.02.2011, 10:50

Ich nutze immer zusätzlich die Genkernel-Option "--oldconfig". Dadurch wird die ".config" verwendet und nicht überschrieben.
Auch wenn Open-Source kostenlos ist, ist sie nicht umsonst. Dein Preis ist Dein Engagement und Mitarbeit an OS-Projekten.
Wenn Du keinen Preis bezahlen willst, bist Du die Ware. Und das ist nicht Open Source, geschweigedenn frei.

4

14.02.2011, 11:24

Hmm.., bist du dir denn sicher das es wirklich am scheinbar fehlenden EXT4 Filesystem liegt?
Fehlt dir evtl. auch noch der passende HDD Controller Treiber?
Ansonsten poste doch bitte mal die genaue Fehlermeldung.

BTW:
Sofern du deinen Kernel manuell konfigurierst könntest du vor dem "make && make modules_install"
auch einfach mal mit

Quellcode

1
grep EXT4 /usr/src/linux/.config
nachschauen was in der .config wirklich gesetzt ist mit der du anschliessend den Kernel kompilierst.

..................................................................................................
@bell
Wird bei genkernel "oldconfig" nicht normal schon als Default mit verwendet?
siehe zb

Quellcode

1
grep "Common Command Line Option Defaults" -A3  /etc/genkernel.conf

5

14.02.2011, 11:38

Wird bei genkernel "oldconfig" nicht normal schon als Default mit verwendet?

Ja, jedoch wird standardmäßig vorher ein

Quellcode

1
2
# Run 'make mrproper' before configuration/compilation?
MRPROPER="yes"
ausgeführt und damit die ".config" gelöscht. Der Standard-Oldconfig passt dann die mit dem Genkernel ausgelieferte Config an den aktuellen Kernel an.
Die Kommandozeilen-Option "--oldconfig" unterdrückt dies.
Auch wenn Open-Source kostenlos ist, ist sie nicht umsonst. Dein Preis ist Dein Engagement und Mitarbeit an OS-Projekten.
Wenn Du keinen Preis bezahlen willst, bist Du die Ware. Und das ist nicht Open Source, geschweigedenn frei.

6

14.02.2011, 11:50

Ich nutze immer zusätzlich die Genkernel-Option "--oldconfig". Dadurch wird die ".config" verwendet und nicht überschrieben.

Das ist gut, wusste ich gar nicht, damit kann ich mir das mitder CONFIG schön sparen.

Werde das beim nächsten update gleich testen.

Gruß

7

14.02.2011, 15:23

Oh so viele Antworten vielen Dank!

Jetzt hab ich hier nur so viele Berlinale-Karten bekommen, dass ich das erst Mittwoch abend ausprobieren kann. Somit bitte etwas Geduld, dass ich den thread nicht gleich auf gelöst setze, vielleicht klappt ja doch irgendwas nicht.

Nochmals danke und viele Grüße!
Suse

8

18.02.2011, 09:25

Nach meinen Tests kann ich bestätigen, dass --oldconfig die Lösung zum geschilderten Problem darstellt.

Allerdings möchte ich anmerken, dass es sich aus meiner Sicht um einen Bug von genkernel handelt. Wenn ich über --menuconfig meine Konfiguration verändere und zum Abschluss die Meldung erhalte, ob ich diese Änderung speichern möchte, gehe ich implizit davon aus, dass diese Änderung auch zum Kernelbacken verwendet wird. Sicherlich kann ich argumentieren, dass er lediglich darauf hinweist, die Änderung zu speichern und nicht zu verarbeiten, dennoch... wie gesagt will ich ja auch, dass er die Änderung verarbeitet. Dies von dem Parameter --oldconfig abhängig zu machen, halte ich nicht für korrekt, da ich dies nur auf "verwende die alte Konfiguration" beziehe. Sobald ich in menuconfig eine neue Konfiguration lade, will ich diese auch verarbeitet wissen.

Das Argument, wie soll ich denn NUR eine Konfiguration verändern, ohne diese auch gleich in den Kernel einfliessen zu lassen, könnte ich natürlich nachvollziehen. Für mich wäre dazu aber ein Parameter von genkernel wie --onlyconfigsave oder so ein Kram besser geeignet.

Wie seht Ihr das? Vielleicht bin ich durch die vielen usability-Tests, die ich beruflich machen darf, schon etwas verquert und eher auf unbedarftere Anwender und deren Interpretationen geeicht, keine Ahnung.

Danke!

9

18.02.2011, 10:02

Weiß jetzt nicht genau was Dein Problem ist.

machst Du ein --oldconfig wird die .config von /usr/src/linux verwendet.

machst du --oldconfig --menuconfig wird die .config von /usr/src/linux verwendet und Du kannst es über menuconfig anpassen.

Läßt Du oldconfig weg, wird entweder eine Standardconfig verwendet oder wenn vorhanden aus /usr/src/kernels.

Ich sehe da kein Bug und alles verhält sich so wie es soll.

Gruß

10

18.02.2011, 13:36

Ich versuche gerne, dass Problem nochmal zu beschreiben:

Problem 1
Eine bereits vorliegende config-Datei kopiere ich nach /usr/src/config.
Über genkernel --menuconfig rufe ich meine gespeicherte config auf, verarbeiten tut er sie aber nicht, sondern baut einen Standardkernel.

Problem 2
Lasse ich ebenfalls --oldconfig weg, lade mir eine config und verändere die, werden die Veränderungen nicht zum Kernelbacken verwendet, sondern nur in der config gespeichert. Das halte ich nicht für korrekt.

11

18.02.2011, 13:40

Eine bereits vorliegende config-Datei kopiere ich nach /usr/src/config.
Über genkernel --menuconfig rufe ich meine gespeicherte config auf, verarbeiten tut er sie aber nicht, sondern baut einen Standardkernel.

Wenn Du sie als config speicherst, kann es auch nicht funktionieren. Die config muss .config heißen und dann wäre es keine Gentoo, sondern ein Kernel Bug. Da dies aber so gewünscht ist, ist es auch kein BUG.

Der Kernel verlangt wenn man nichts extra angibt immer .config.

Gruß

12

20.02.2011, 13:57

Hi Planeshift,

dies geschieht auch, wenn ich die config unter /usr/src/linux/.config speicher. Wenn ich die Kernelkonfiguration aufrufe und Änderungen vornehme, übernimmt er sie bei mir nicht.

Ich kann das aber auch gerne noch mal probieren, bin nur gerade froh, dass der Kernel läuft und ich mich mit den anderen 100 Problemen rumschlagen darf, bis dieser %&§"§$-Media-PC endlich so läuft, wie ich das will.

Grüße,
Suse

13

21.02.2011, 09:07

dies geschieht auch, wenn ich die config unter /usr/src/linux/.config speicher. Wenn ich die Kernelkonfiguration aufrufe und Änderungen vornehme, übernimmt er sie bei mir nicht.



Das solltest Du wirklich nochmal kontrollieren. Ich habe es jetzt in letzter Zeit auch paar mal so gemacht und jedes mal hat das funktioniert.

Viele Grüße

14

22.05.2011, 17:49

Wird bei genkernel "oldconfig" nicht normal schon als Default mit verwendet?

Ja, jedoch wird standardmäßig vorher ein

Quellcode

1
2
# Run 'make mrproper' before configuration/compilation?
MRPROPER="yes"
ausgeführt und damit die ".config" gelöscht. Der Standard-Oldconfig passt dann die mit dem Genkernel ausgelieferte Config an den aktuellen Kernel an.
Die Kommandozeilen-Option "--oldconfig" unterdrückt dies.

Danke für die Erklärung!
Auf diese "verrückte" genkernel Logik muss man auch erst mal kommen, bzw sie verstehen.

MfG
Josef

/edit:
Dieser Thread wurde ins genkernel Unterforum verschoben.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »josef.95« (22.05.2011, 18:16)