• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[GELÖST] Neue Bootoption nouveau.modset=0 zerschießt GRUB

Moinsen!!

Nach dem Aufsetzen eines nVidia-Grafiktreibers lechzt mein Kernel nach wie vor nach dem Nouveau-Treiber, den ich längst von der Platte gelöscht habe. Jetzt muss ich immer nouveau.modset=0 in die Zeile mit den Bootoptionen schreiben, sonst komme ich nur bis zur Textkonsole. Also habe ich die neue Option in /boot/grub/menu.lst verewigt:

Code:
###Don't change this comment - YaST2 identifier: Original name: linux###
title Desktop -- openSUSE 11.3 - 2.6.34.8-0.2
    root (hd0,0)
    kernel /vmlinuz-2.6.34.8-0.2-desktop root=/dev/disk/by-id/ata-WDC_WD3201ABYS-01B9A0_WD-WCARW5533006-part3 resume=/dev/disk/by-id/ata-WDC_WD3201ABYS-01B9A0_WD-WCARW5533006-part2 splash=silent quiet showopts vga=0x317 nouveau.modset=0
    initrd /initrd-2.6.34.8-0.2-desktop

Doch was macht GRUB? Er meldet Fehler 11 (Gerät unbekannt) und verabschiedet sich!! Schlimmer noch: Aus der menu.lst entfernen kann ich den Parameter nicht mit dem GRUB-Editor /* der Bootoptionen anscheinend einfach übergeht */, sondern nur sehr umständlich via Rettungs-System, in das ich erst mal die Bootpartition mounten, den ollen vi starten muss etc. etc. :-(

Also: Wie kriege ich diesen Parameter in die menu.lst rein, ohne GRUB zu provozieren? Danke für jeden zweckdienlichen Hinweis. :-D
 
OP
generalmajor

generalmajor

Hacker
Die Bootoption soll nouveau.modset heißen, und «von Hand» in die Zeile mit den Bootoptionen eingehämmert, funzt sie auch. Nur wenn sie in der menu.lst steht, macht sie Ärger…
 
Probiere es stattdessen mal mit 'nomodeset'. Aber wenn ich das richtig sehe, liegt hier wirklich ein Fehlerteufel vor; es müsste 'nouveau.modeset=0' heißen.

Mir fällt außerdem auf, dass Dein Kernel laut menu.lst nicht in /boot liegt. Das würde auch sehr gut zur eigentlichen Fehlermeldung passen, die rein gar nichts mit Nouveau zu tun hat.
 
OP
generalmajor

generalmajor

Hacker
Mir fällt außerdem auf, dass Dein Kernel laut menu.lst nicht in /boot liegt. Das würde auch sehr gut zur eigentlichen Fehlermeldung passen, die rein gar nichts mit Nouveau zu tun hat.

Seltsam, warum der Fehler erst virulent wird, wenn ich den modset-Parameter hinzufüge…

Ich probier's mal mit nomodeset.
 
Finde ich jetzt eigentlich nicht. Bei beiden Varianten muss man die Parameter händisch eintragen, daraufhin werden sie abgespeichert - das Prinzip bleibt also das selbe. Und wissen, was man da tut, muss man in beiden Fällen. Allerdings...

Seltsam, warum der Fehler erst virulent wird, wenn ich den modset-Parameter hinzufüge…

1. Nochmal: es heißt wirklich modeset, nicht modset (google mal danach).

2. Der Kernel-Pfad ist nicht von YaST dergestalt verändert worden. Ich nehme an, dass Dein Problem bleibt, auch wenn Du den nomodeset-Parameter wieder entfernst. Ich spekuliere hier zwar, aber ich nehme an, dass Du den Pfad versehentlich editiert hast.
 

RME

Advanced Hacker
Hallo,

gropiuskalle schrieb:
Ich spekuliere hier zwar, aber ich nehme an, dass Du den Pfad versehentlich editiert hast.
Den Befehl mit welchem gebootet wurde sieht man mit:

Code:
> cat /proc/cmdline
oder mit:

Code:
> dmesg|grep "Kernel command line"
Gruss,
Roland
 
OP
generalmajor

generalmajor

Hacker
Code:
jacek@veteran:~> cat /proc/cmdline
root=/dev/disk/by-id/ata-WDC_WD3201ABYS-01B9A0_WD-WCARW5533006-part3 resume=/dev/disk/by-id/ata-WDC_WD3201ABYS-01B9A0_WD-WCARW5533006-part2 splash=silent quiet vga=0x317 nouveau.modset=0

Den letzten Bootparameter habe ich beim Booten von Hand eingehämmert. Fehlt er, startet die grafische Oberfläche nicht mehr, da der Kernel unbedingt den /* gar nicht mehr installierten */ Nouveau-Graiktreiber haben will.
 

RME

Advanced Hacker
nouveau.modset=0 sollte sein nouveau.modeset=0

(modset >>> modeset)

Roland
 

josef-wien

Ultimate Guru
Bei dem im ersten Beitrag gezeigten Ausschnitt aus der menu.lst sehe ich absolut keinen Grund für:
11 : Unrecognized device string
This error is returned if a device string was expected, and the string encountered didn't fit the syntax/rules listed in the Filesystem.
Hat der "Problem-Eintrag" wirklich so ausgesehen?
generalmajor schrieb:
entfernen kann ich den Parameter nicht mit dem GRUB-Editor /* der Bootoptionen anscheinend einfach übergeht */
scheint mir auch auf einen (meiner Phantasie nicht abzuringenden) schwer fehlerhaften Eintrag zu deuten.

Die Diskussion um den "richtigen" Parameter hat mit GRUB nichts zu tun. GRUB interessiert
root device
kernel device
initrd device
und sonst nichts, alles was hinter
steht, wird dem Kernel mitgegeben, und der Kernel oder sonst ein Programm (unter anderem auch /boot/05-kms.sh aus initrd) kennen und interpretieren einen bekannten oder ignorieren einen unbekannten Parameter.

generalmajor schrieb:
/* gar nicht mehr installierten */
Solange Du nicht die initrd mit dem Befehl
Code:
mkinitrd
neu erstellt hast, ist das Modul immer noch vorhanden (und danach sollte der Parameter nicht mehr notwendig sein).
 
OP
generalmajor

generalmajor

Hacker
Hat der "Problem-Eintrag" wirklich so ausgesehen?

Genau so!

Die Diskussion um den "richtigen" Parameter hat mit GRUB nichts zu tun. GRUB interessiert

root device
kernel device
initrd device

und sonst nichts…

Ist das der Grund, warum ich Kernel-Boot-Optionen nicht mit dem GRUB-Editor bearbeiten kann?

Solange Du nicht die initrd mit dem Befehl

mkinitrd

neu erstellt hast, ist das Modul immer noch vorhanden (und danach sollte der Parameter nicht mehr notwendig sein).

Theoretisch müsste YaST dieses Kommando immer anstoßen, wenn sich an den Kernelmodulen was ändert. Nach dem Aufsetzen des nVidia-Treibers habe ich Nouveau (via YaST freilich) deinstalliert, also hätte YaST bei dieser Gelegenheit eigentlich mkinitrd ausführen sollen, oder?
 

towo

Moderator
Teammitglied
Dir is schon kla, daß man ein kernel-modul nicht deinstallieren kann?
Was yast da deinstalliert hat, war der nouveau x-Treiber.
 
OP
generalmajor

generalmajor

Hacker
Dir is schon kla, daß man ein kernel-modul nicht deinstallieren kann?
Was yast da deinstalliert hat, war der nouveau x-Treiber.

Also muss man immer, wenn man Treiber installiert oder deinstalliert, die als Module in den Kernel eingebunden werden, hinterher immer initrd ausführen…?

Habe ich übrigens gerade gemacht, und siehe da: Alles funzt! :-D Danke Euch!
 

josef-wien

Ultimate Guru
generalmajor schrieb:
Ist das der Grund, warum ich Kernel-Boot-Optionen nicht mit dem GRUB-Editor bearbeiten kann?
Du kannst alles, was in menu.lst enthalten ist, temporär im Boot-Menü bearbeiten. Im grafischen Menü sind die Möglichkeiten allerdings sehr eingeschränkt (Du kannst nur das modifizieren, was in der Zeile kernel hinter showopts angegeben ist), daher mußt Du mit Esc und Eingabe-Taste ins textbasierte Menü wechseln.

generalmajor schrieb:
Also muss man immer, wenn man Treiber installiert oder deinstalliert, die als Module in den Kernel eingebunden werden, hinterher immer initrd ausführen…?
Bei allem, was irgendwie mit der Grafik zu tun hat, ist es zu empfehlen, wenn es nicht automatisch (d. h. durch entsprechende Routinen im jeweiligen Software-Paket) ausgeführt wird. Ob es passiert, kannst Du gleich nach der Installation in YaST betrachten, wenn
Code:
PKGMGR_ACTION_AT_EXIT="summary"
in /etc/sysconfig/yast2 eingetragen ist. Auf jeden Fall ist es in /var/log/zypp/history enthalten.

Falls es Dich interessiert, kannst Du in einem leeren Verzeichnis die initrd mit
Code:
gzip -cd /boot/initrd | cpio -cid
auspacken und begutachten. Ich weiß nicht, ob es bei Nvidia ähnlich ist, aber der ATI-Treiber erzeugt eine Datei mit einem blacklist radeon-Eintrag in /etc/modprobe.d/, die auch in initrd enthalten ist.
 
Oben