Neu gebauter kernel ergibt nach reboot nur schwarzes Bild

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Neu gebauter kernel ergibt nach reboot nur schwarzes Bild

Beitrag von Duff » 10.04.2006 20:43:04

Hallo,

wollte mir einen neueren Kernel (alter2.6.8-686) bauen, damit ich wieder ohne Probleme meine ipw2200 benutzen kann.

Habe mir den Kernel von http://www.kernel.org/mirrors/countries/html/DE.html heruntergeladen und mit unp im Verzeichnis /usr/src entpackt.

Einen symbolischen Link auf das neue Verzeichnis angelegt.

Code: Alles auswählen

 ln -s linux-2.6.16 linux 
Die .config der alten Konfiguration kopiert

Code: Alles auswählen

 cp /boot/config-2.6.15.6 /usr/src/linux-2.6.16/.config 
Ins Verzeichnis linux (linux-2.6.16) gewechselt und ein

Code: Alles auswählen

 make clean 
ausgeführt. Dann ein

Code: Alles auswählen

 make oldconfig 
(habe auch schon ein

Code: Alles auswählen

make menuconfig
probiert).

Das ganze dann mit

Code: Alles auswählen

make-kpkg clean
und

Code: Alles auswählen

make-kpkg kernel_image 

abgeschlossen.

Im Verzeichnis /usr/src befindet sich jetzt die neue Datei

Code: Alles auswählen

-rw-r--r--   1 root src  14872612 Apr 10 20:11 kernel-image-2.6.16_10.00.Custom_i386.deb
, die ich mit

Code: Alles auswählen

dpkg -i kernel-image-2.6.16_10.00.Custom_i386.deb
installiert habe.

Nach einem Neustart bekomme ich jedoch nur ein schwarzes Bild, wenn ich den neuen kernel zum Starten auswähle!

Was habe ich nicht beachtet oder was mache ich falsch???
Das kann doch nicht so schwer sein.
Oh, yeah!

Benutzeravatar
meandtheshell
Beiträge: 4054
Registriert: 14.01.2005 17:51:30

Beitrag von meandtheshell » 10.04.2006 22:14:54

Standartfrage:
Ist dein Kernelbinary ohne initrd bootfähig? Sieht nicht so aus ...

ein

Code: Alles auswählen

make-kpkg --initrd <foo>
hilft

markus

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 11.04.2006 12:35:48

Danke für die Antwort.

Was heißt das jetzt genau?
Muss ich

Code: Alles auswählen

 make-kpkg --initrd 
beim Kernelbauen ausführen, oder kann ich das auch danach?

Weiß noch nicht so genau, wann ich den Befehl ausführen muss. Würde es nämlich gerne heute abend mal ausprobieren.
Oh, yeah!

Spasswolf
Beiträge: 3472
Registriert: 30.11.2005 10:32:22
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Wald

Beitrag von Spasswolf » 11.04.2006 12:49:53

Du musst deinen Kernel so kompilieren:

Code: Alles auswählen

make-kpkg --initrd kernel_image
Wenn du dann das erstellte .deb installierst wird die Initramdisk gleich miterstellt.
Nachträgliches erstellen sollte auch möglich sein, siehe

Code: Alles auswählen

man yaird
Wenn es beim erstellen der Initramdisk Probleme gibt siehe hier:
http://www.debianforum.de/forum/viewtopic.php?t=64499

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 11.04.2006 21:44:52

Wow.

Es hat geklappt. Danke.

Code: Alles auswählen

root@daniel-laptop:~# uname -a
Linux daniel-laptop 2.6.16 #1 PREEMPT Tue Apr 11 21:00:05 CEST 2006 i686 GNU/Linux
Nun muss ich noch mein wlan ausprobieren.


Habe trotzdem noch eine Frage. Und zwar kommt nachdem ich in grub den neuen Kernel zum Booten gewählt habe, erstmal nur ein schwarzer Bildschirm und nach ca. 30 Sekunden startet erst gdm.
Was muss ich einstellen, damit ich wenigstens ein paar Informationen (was so alles erfolgreich geladen wird :-)) bis zur Anmeldung bekomme???
Oh, yeah!

Spasswolf
Beiträge: 3472
Registriert: 30.11.2005 10:32:22
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Wald

Beitrag von Spasswolf » 11.04.2006 21:59:37

Hast du den Framebuffer im Kernel aktiviert?
Probiers mal mit der Bootoption vga=791, einfach in der /boot/grub/menu.lst an die Kernelzeile anhängen:

Code: Alles auswählen

kernel          /boot/vmlinuz-x.xx.xx root=/dev/xxxx ro vga=791 

Benutzeravatar
meandtheshell
Beiträge: 4054
Registriert: 14.01.2005 17:51:30

Beitrag von meandtheshell » 11.04.2006 22:01:04

Duff hat geschrieben:erstmal nur ein schwarzer Bildschirm und nach ca. 30 Sekunden startet erst gdm.
make menuconfig ausführen und dann unter

Code: Alles auswählen

device drivers --> graphics support -->
  [*]   VESA VGA graphics support
fix in den kernel kompilieren

markus

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 12.04.2006 12:52:51

Danke.

Werde es heute abend ausprobieren.

Habe im meinem Laptop eine ati radeaon 9600/9700 drin.
Oh, yeah!

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 12.04.2006 20:49:03

Habe beide Varianten ausprobiert bzw. habe die erste Variante schon in meiner menu.list stehen. Beim kernel 2.6.8 funktioniert es und beim kernel 2.6.16 nicht.

Code: Alles auswählen

title           Debian GNU/Linux, kernel 2.6.16
root            (hd0,4)
kernel          /boot/vmlinuz-2.6.16 root=/dev/hda5 ro vga=771 DEBCONF_DEBUG=5
initrd          /boot/initrd.img-2.6.16
savedefault
boot

title           Debian GNU/Linux, kernel 2.6.16 (recovery mode)
root            (hd0,4)
kernel          /boot/vmlinuz-2.6.16 root=/dev/hda5 ro vga=771 DEBCONF_DEBUG=5 single
initrd          /boot/initrd.img-2.6.16
savedefault
boot

title           Debian GNU/Linux, kernel 2.6.8-2-686
root            (hd0,4)
kernel          /boot/vmlinuz-2.6.8-2-686 root=/dev/hda5 ro vga=771 DEBCONF_DEBUG=5
initrd          /boot/initrd.img-2.6.8-2-686
savedefault
boot

title           Debian GNU/Linux, kernel 2.6.8-2-686 (recovery mode)
root            (hd0,4)
kernel          /boot/vmlinuz-2.6.8-2-686 root=/dev/hda5 ro vga=771 DEBCONF_DEBUG=5 single
initrd          /boot/initrd.img-2.6.8-2-686
savedefault
boot
Habe den kernel nochmal neu gebaut. Habe die oben beschrieben Schritte noch einmal durchgeführt und dann anstatt einem make oldconfig ein make menuconfig mit den Einstellungen

Code: Alles auswählen

device drivers --> graphics support -->
  [*]   VESA VGA graphics support
Doch leider kommt nach einem reboot schon wieder nur ein schwarzer Bildschirm.
Kann ich irgendwie überprüfen, ob er überhaupt die eingegebenen Einstellungen übernommen hat?
Oder kann es noch eine andere Ursache haben?
Oh, yeah!

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 14.04.2006 13:07:43

Hat noch jemand einen Tip für mich???

Das sieht nämlich echt blöd aus, bis zur Anmeldemaske nur ein schwarzes Bild zu haben. Wenn nicht der Rechner ab und zu mal einen laut von sich geben würde und die Maus nicht blinken würde, wüßte ich gar nicht, ob der Rechner überhaupt noch arbeitet und hoch kommt.
Oh, yeah!

Benutzeravatar
meandtheshell
Beiträge: 4054
Registriert: 14.01.2005 17:51:30

Beitrag von meandtheshell » 14.04.2006 13:28:56

Irgendwas hast du vergessen fest einzukompilieren. Keine große Sache ...

Vorschlag:
Vergleiche die alte ./config bzw. eine aus dem aktuellen SID kernel-source Paket mit deiner aktuellen. Ist halt ein wenig Arbeit aber du lernst was dabei ;)

Zum vergleichen nimmst du:
- diff oder
- meld

Info zum Umgang mit diff:
http://www.gnu.org/software/diffutils/m ... /diff.html

markus

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 14.04.2006 14:17:23

Erstmal Danke für den Tip!

Habe mir die beiden config-Dateien mit sdiff angeschaut. Leider gibt es natürlich, wie sollte es auch sonst sein, sehr,sehr viele unterschiede.
Die Frage ist nur, unter welchem Abschnitt suche ich den Fehler am besten?

Graphics support?
General setup?

Habe hier mal die Ausgabe der beiden oben aufgeführten Abschnitte gepostet.
Links ist die neue Konfiguration (kernel 2.6.16) und rechts die alte (kernel 2.6.8-686)
http://nopaste.debianforum.de/2911

Frage: Wenn in einer Zeile z.B.
CONFIG_FB_VESA=y
steht, heißt das doch, dass der VESA-Treiber fest im Kernel eingebunden ist? Und die Zeile
CONFIG_FB_VESA=m
bedeutet doch, dass nur der VESA-Treiber als Modul vorhanden ist?

Kenne den genauen unterschied nicht so ganz.
Oh, yeah!

Antworten