1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Software und Anwendungen
  3. Betriebssysteme

Kernel 2.6......

    • Linux
  • cremlin
  • 23. Oktober 2007 um 21:15
  • Unerledigt
  • cremlin
    3
    cremlin
    Mitglied
    Punkte
    50
    Beiträge
    7
    • 23. Oktober 2007 um 21:15
    • #1

    Hallo!
    Hab seit kurzem Slackware und mir den 2.6.23.1 Kernel runtergeladen, konfiguriert....usw.
    Mein Problem: Wenn ich den computer starte, kann ich gottseidank zwischen altem u. neuem kernel wählen. Wenn ich den 2.6er Kernel wähle, seh ich aber nichts. Ich kann aber "blind" meinen namen + passwort eingeben und mit startx die grafische Oberfläche starten, das haut also hin. Ich würde aber gerne auch ohne grafische oberfläche arbeiten können...
    Also: hat jemand eine ahnung was ich bei der konfiguration falsch gemacht haben könnte, und kann ich das auch ändern ohne den ganzen kernel neu konfigurieren zu müssen?
    lg cremlin

  • Paulchen
    1
    Paulchen
    Gast
    • 23. Oktober 2007 um 22:23
    • #2

    Sowas hab ich beim Update von Kubuntu 7.04 auf 7.10 erlebt, allerdings mit einem 2.6.22-Kernel. Abhilfe hat hier, wenn ich mich richtig erinnere, geschafft, die Module fbcon und vesafb in die initrd einzubauen.

  • Punkrocker
    7
    Punkrocker
    Mitglied
    Reaktionen
    1
    Punkte
    456
    Beiträge
    85
    • 24. Oktober 2007 um 00:41
    • #3

    einfach in der lilo.conf vga=normal setzen (default is glaub ich vga=773) dann sollts hinhauen.

    Und eine Stimme aus dem Chaos sprach zu mir:
    lächle und sei froh, es könnte schlimmer kommen.
    Und ich lächelte und war froh, und es kam schlimmer!

  • cremlin
    3
    cremlin
    Mitglied
    Punkte
    50
    Beiträge
    7
    • 29. Oktober 2007 um 20:51
    • #4

    soha. Hab erst mal das in der lilo.conf geaendert, da hat sich aber nix getan. Danach hab ich versucht die 2 module in die initrd einzubauen (laut der README-Datei im /boot verzeichnis). Dann ist so eine Meldung erschienen (weiss sie nichtmehr wortwoertlich) dass fbcon nicht vorhanden ist, hab also wahrscheinlich vergessen die mitzucompilieren wie ich den Kernel uebersetzt hab. Naja, auf jeden fall ist mir auch eingefallen, dass ich vergessen hab lilo in die kommandozeile zu tippen, nachdem ich die lilo.conf veraendert hab, was ich dann auch gemacht hab. Wenn ich jetzt mit dem 2.6er Kernel boote, kann ich mich zwar anmelden, es erscheint aber eine Meldung, dass kein home-verzeichnis fuer den user vorhanden ist und als home-verzeichnis wird einfach/standardmaessig '/' gesetzt. Und startx haut auch nichtmehr hin. Beim login steht auch nix von 2.6.23.1-kernel, sondern von 2.6.13. Haengt sehr wahrscheinlich damit zusammen, dass ich die initrd mit kernel-generic-2.6.13* und 2 anderen programmen erstellen wollte.

    Hab auf jeden fall das gefuehl, dass ich da bald nichtmehr durchblicke, rutsche von einem problem ins naechste. Hab gehoert, dass die neueren slackware-versionen standardmaessig den 2.6er-Kernel verwenden. Ich denke, ich werd mir einfach mal eine neuere version besorgen. Ausser es hat jemand eine ahnung was ich da falsch gemacht habe und wie ich's mit ein paar handgriffen wieder in ordnung bringe. Waere mir auf jeden fall lieber, als wieder von vorne beginnen - damit ich mal ein erfolgserlebnis in zusammenhang mit linux haben kann =)
    lg

  • hagbardceline
    4
    hagbardceline
    Mitglied
    Reaktionen
    1
    Punkte
    111
    Beiträge
    22
    • 29. Oktober 2007 um 22:51
    • #5

    Anstatt die Module in die init.rd für den alten Kernel einzubauen hast du 2 Möglichkeiten, falls du es doch noch versuchen möchtest, ohne Neuinstallation:

    Alternative 1) Kompiliere den Kernel erneut (wenn du die Quellen schon übersetzt hast und nicht "make clean" gemacht hast, sollte das recht flott gehen.
    Kleiner Tipp am Rande mit der Taste "/" kann man sogar im Textmodus nach "make menuconfig" (zum konfigurieren des Kernels - ausgeführt aus dem Kernelquellordner) nach bestimmten Modulnamen(Textmustern) suchen.
    Findest so leicht deine benötigten Module.
    Das Modul fbcon hat den Namen "FRAMEBUFFER_CONSOLE".
    Achtung da du noch LiLo verwendest, nicht vergessen nach "make modules_install" und "make install" lilo erneut aufzurufen.
    Es ist ganz normal, das man ein paar Module zuwenig im Kernel hat und nachdem du keine Kernel Panic hattest hast du zumindest notwendigsten Dateisystem, IDE/SATA module integriert, kann also nicht mehr allzuviel fehlen :winking_face:

    Alternative 2) Erzeuge die Initrd für den richtigen Kernel
    Kontrolliere dass der "Link" /usr/src/linux auf das Verzeichnis deiner neuen Kernelquellen verweist - das kann auch für andere Kompiliervorgänge von Bedeutung sein.

    Code
    # cd /usr/src; rm linux; ln -s <linux quellordner> linux

    Falls du "mkinitrd" installiert hast, solltest du dann leicht mittels "mkinitrd <Initramdisk-dateiname> <Kernelversion>" also z.B.:

    Code
    mkinitrd /boot/initrd-2.6.23-r1 2.6.23-1

    die Initrd mit den Modulen für den richtigen Kernel generieren können (evtl. in /etc/lilo.conf die initrd angeben).
    Oder mit welchen Kommandos hast du deine initrd erzeugt ?

    mfg
    hagbard

    "1.6 Definition: Undefined behavior -- behavior, upon use of a nonportable or erroneous program construct, ... for which the standard imposes no requirements. Permissible undefined behavior ranges from ignoring the situation completely with unpredictable results, to having demons fly out of your nose.
    In short, you can't ... and if you do, demons may fly out of your nose.
    OK, OK; so the Standard doesn't *ACTUALLY* mention demons or noses. Not as such, anyway." from Usenet:comp.std.c 26 Feb.1992

  • cremlin
    3
    cremlin
    Mitglied
    Punkte
    50
    Beiträge
    7
    • 31. Oktober 2007 um 13:18
    • #6

    hallo! Ich waer ja fuer die 2. Alternative. Kann mich nichtmehr genau erinnern, aber ich glaub ich habs mit "mkinitrd -k 2.6.23.1 -m fbcon vesafb" versucht. Ich hab im /boot verzeichnis keine spezielle initrd-datei sondern ein initrd-tree verzeichnis. In /usr/src zeigt linux auf linux-2.6.23.1 (das sich im gleichen verzeichnis befindet), das sollte ja passen, oder? Hab nach diesem framebuffermodul gesucht, aber nix gefunden (find / -name *FRAMEBUFFER* -print - hab ich da eh richtig gesucht?). Komm ich trotzdem um ein neukompilieren/konfigurieren herum? Bis ich da wieder das richtige zeug ausgewaehlt hab, vergeht 3mal so viel zeit wie das kompilieren dauert =(. Kann man sich die module auch einzeln irgendwo besorgen/runterladen, oder in welchem verzeichnis sollten die sich denn befinden? lg

  • Kampi
    27
    Kampi
    Mitglied
    Reaktionen
    193
    Punkte
    7.828
    Beiträge
    1.468
    • 31. Oktober 2007 um 14:34
    • #7
    Zitat von cremlin

    In /usr/src zeigt linux auf linux-2.6.23.1 (das sich im gleichen verzeichnis befindet), das sollte ja passen, oder?

    ja.

    Zitat von cremlin


    Hab nach diesem framebuffermodul gesucht, aber nix gefunden (find / -name *FRAMEBUFFER* -print - hab ich da eh richtig gesucht?).

    nein.

    Code
    egrep FRAMEBUFFER /usr/src/linux/.config

    bzw solltest du das machen:

    Code
    cd /usr/src/linux
    make menuconfig

    in dieser GUI kannst du dann mit '/' eine suche starten.

    Willfähriges Mitglied des Fefe-Zeitbinder-Botnets und der Open Source Tea Party.

  • hagbardceline
    4
    hagbardceline
    Mitglied
    Reaktionen
    1
    Punkte
    111
    Beiträge
    22
    • 31. Oktober 2007 um 14:40
    • #8

    Also alle deine installierten Module für die entsprechende Kernelversion kannst du unter "/lib/modules/<Kernelversion>" finden.
    2.6-er Kernelmodule haben die Endung .ko (Kernelobject oder so).
    Der Name vom Modul das du suchst sollte also "fbcon.ko" sein.
    Du müsstest also mit "find /lib/modules -name 'fbcon.ko' -print" suchen können (print kannst weglassen ist standard).
    Und beim erneuten kompilieren musst du NICHT alle Optionen nochmal auswählen, sondern falls dus nicht gelöscht hat wird nach der Kernelkonfigrationsphase die Datei ".config" angelegt, falls du diese gelöscht hast siehe unten.

    Um zu sehen ob du die Option im Kernel überhaupt aktiviert hast gibt es zwei Möglichkeiten:

    1) Im Kernelquellordner in der Konfigurationsdatei, die du mit "make config"/"make menuconfig" oder wieauchimmer erstellt hast falls noch nicht entfernt.
    Kernelquellordner sollte unter /usr/src/linux zu finden sein, also um genau zu sein sollte dieser Link auf den eigentlichen Ordner /usr/src/linux-<Kernelversion> verweisen.
    Name der Datei ist .config. Kannst in dieser Datei suchen mittels:

    Code
    grep CONSOLE /usr/src/linux/.config

    2) Seit ein paar Jahren gibt es eine Kerneloption, die die Möglichkeit bietet aus /proc in gzip komprimierter Form die Konfiguration des laufenden Kernels auszulesen.
    Sehr praktisch wenn man einen laufenden Kernel aktualisieren möchte.
    Deine Kernelkonfigurationsoption heisst: CONFIG_FRAMEBUFFER_CONSOLE
    Also versuch mal:

    Code
    gunzip -c /proc/config.gz | grep CONSOLE

    Sofern du die Option die das erlaubt aktiviert hast.
    Wenn du deine Konfiguration(.config im Kernelquellordner) nicht mehr hast, kannst du so die Konfiguration wieder erzeugen mit z.b.:

    Code
    gunzip -c /proc/config.gz > /usr/src/linux/.config

    Initrd-tree:
    Uhm sowas hab ich noch nie gesehen, sicher dass der Baum auch verwendet wird ?
    Üblicherweise ist das eine komprimierte Datei - habe grade mein mkinitrd überprüft das kennt keine Option "-k" sondern verlangt "mkinitrd [-m Module, ..] <Imagename> <Kernelversion>" als Parameter.
    Versuch mal mit mkinitrd eine Datei als Imagename zu machen - siehe man mkinitrd - aber das ist nicht dein eigentlich problem irgendwo hast du gepostet, dass er da sagte fbcon nicht vorhanden.
    Baus fix in den Kernel dann brauchst keine initrd mehr.

    mfg
    hagbard

    "1.6 Definition: Undefined behavior -- behavior, upon use of a nonportable or erroneous program construct, ... for which the standard imposes no requirements. Permissible undefined behavior ranges from ignoring the situation completely with unpredictable results, to having demons fly out of your nose.
    In short, you can't ... and if you do, demons may fly out of your nose.
    OK, OK; so the Standard doesn't *ACTUALLY* mention demons or noses. Not as such, anyway." from Usenet:comp.std.c 26 Feb.1992

  • cremlin
    3
    cremlin
    Mitglied
    Punkte
    50
    Beiträge
    7
    • 31. Oktober 2007 um 18:13
    • #9

    ok, die .config datei hab ich noch. Beim suchen nach framebuffer (mit menuconfig) werden da gleich mehrere eintraege angezeigt, welcher is denn da der richtige? Wenn ich fbcon eingebe, wird nix gefunden. Menuconfig bringt mir aber im moment nicht viel, weil ich immer, nachdem ich was geaendert hab, die meldung "Error during writing of the kernel configuration. Your kernel configuration changes were NOT saved" bekomme. Ich kann die Konfiguration doch auch direkt ueber .config aendern, oder? Wenn ja, was genau sollte ich da reinschreiben?

  • hagbardceline
    4
    hagbardceline
    Mitglied
    Reaktionen
    1
    Punkte
    111
    Beiträge
    22
    • 1. November 2007 um 02:18
    • #10
    Zitat


    ok, die .config datei hab ich noch. Beim suchen nach framebuffer (mit menuconfig) werden da gleich mehrere eintraege angezeigt, welcher is denn da der richtige? Wenn ich fbcon eingebe, wird nix gefunden.

    Wie ich bereits gepostet habe CONFIG_FRAMEBUFFER_CONSOLE ist der Eintrag der das MODUL fbcon.ko erzeugt, deshalb wirst du fbcon nur durch Zufall mit "make menuconfig" finden können ...

    Der Eintrag den du suchst heißt Framebuffer Console Support und ist unter: Device Drivers - Graphics Support - Console Display Driver Support

    Zitat


    Menuconfig bringt mir aber im moment nicht viel, weil ich immer, nachdem ich was geaendert hab, die meldung "Error during writing of the kernel configuration. Your kernel configuration changes were NOT saved" bekomme.

    Vermutlich führst du "make menuconfig" nicht als root aus, bzw. falls du einen normalen Benutzer vewendest hat dieser Schreib- und Lesenrechte auf die Datei .config ?

    Du kannst theoretisch die .config von Hand ändern, solltest aber nicht, da durchaus abhängigkeiten zwischen einzelnen Kernelmodulen besteht die "make config" und alle Varianten berücksichtigen.

    "1.6 Definition: Undefined behavior -- behavior, upon use of a nonportable or erroneous program construct, ... for which the standard imposes no requirements. Permissible undefined behavior ranges from ignoring the situation completely with unpredictable results, to having demons fly out of your nose.
    In short, you can't ... and if you do, demons may fly out of your nose.
    OK, OK; so the Standard doesn't *ACTUALLY* mention demons or noses. Not as such, anyway." from Usenet:comp.std.c 26 Feb.1992

  • Maximilian Rupp 27. Dezember 2024 um 00:10

    Hat das Thema aus dem Forum Betriebssysteme nach Betriebssysteme verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung