# [solved] Kernel Panic direkt nach Grub

## musv

Guten Abend. 

Eigentlich könnte ich auch dieses Thema wählen. Wäre irgendwie zutreffend. 

Ok, was hab ich gemacht:

Komplettes System-Update

Kernel-Update auf 3.15.1

Was passiert:

Wenn ich im Grub Kernel-3.15.1 auswähl, schaltet der Bildschirm auf schwarz. Und etwa nach 1 Sekunde fangen die beiden LED (Caps Lock und die rechts daneben) an zu blinken. Irgendwelche Meldungen sind Fehlanzeige. Scheinbar schmiert der Rechner schon beim Laden des Kernels ab. 

Die Kernelkonfiguration hab ich von 3.13 übernommen. Hab dann natürlich ein make oldconfig gemacht. Die Grub-Kommandozeile hab ich ebenfalls von der 3.13 kopiert und nur die Kernel-Versionsnummer angepasst. 

```
menuentry "Gentoo 3.15.1 - Systemd"        {

        set root=(hd0,2)

        linux /boot/bzImage-3151 root=/dev/sda3 ro video=uvesafb:ywrap,mtrr:3,1440x900-32@60 CONSOLE=/dev/tty1 acpi_enforce_resources=lax snd-virtuoso.index=0 snd-hda-intel.index=1 init=/usr/lib/systemd/systemd intel_iommu=off

}
```

Eine Initrd gibt's bei mir nicht. Hab ich noch nie gebraucht, da ich alle zum Booten erforderlichen Treiber in den Kernel reinpack. 

/boot liegt auf sda2 und ist mit btrfs formatiert. /root liegt auf sda3 und ist ebenfalls mit btrfs formatiert. 

Um Auszuschließen, dass der Nvidia-Treiber oder Aufs3 die Ursache des Problems sein könnten, hab ich den Kernel auch ohne die beiden Pakete erst mal compiliert und versucht zu booten. Hab auch ein Vimdiff gemacht, um sicherzugehen, dass nicht irgendwelche Filesystem- oder andere Treiber fehlen. 

Woran könnte es liegen?Last edited by musv on Thu Jul 03, 2014 6:05 am; edited 1 time in total

----------

## musv

Mal eben Kernel-3.14.8 getestet. 

Wähl ich im Grub den Kernel aus, wird das Bild wieder schwarz. Aus dem Rechner kommt ein kurzes Klicken. Das war's dann. Im Gegensatz zu 3.15 blinken die LEDs nicht und ich kann mit dem Affengriff den Rechner rebooten. 

Irgendwie krieg ich den Eindruck, der letzte funktionierende Kernel war 3.13.x. Danach wurde hart daran gearbeitet, zuerst den Kernel nicht mehr booten zu lassen (3.14) und in der nächsten Stufe dann den Rechner beim Laden des Kernels zum Absturz zu bringen (3.15). Bei 3.16 wird dann vermutlich der Rechner explodieren. 

So, und jetzt im Ernst, hat irgendjemand auch das Problem, oder ist nur mein Rechner verflucht?

----------

## musv

Nachdem ich jetzt auch das Notebook aktualisiert hab, kann ich dort dasselbe Verhalten beobachten. 

Desktop-Rechner: Intel Xeon 5650, 64bit

Notebook: Atom N-270, 32bit

Irgendwas scheint wohl an meinen Kernelconfigs nicht von 3.13 auf irgendwas Höheres upgradefähig zu sein.

----------

## platinumviper

Ich habe keine Probleme mit 3.15.2 auf einem 32-Bit und mehreren 64-Bit Systemen. Vielleicht liegt's am GRUB, der macht bei mir immer Probleme, teilweise dauert es über eine Stunde vom Start des GRUB bis zur Anzeige der Auswahl. Mit LILO klappt alles immer einwandfrei, GRUB läuft nur auf den anderen Distributionen (SuSE, Fedora, MintDE, Mint, Ubuntu usw) und ist in deren Root-Partitionen.

Hast du mal eine Rescue-CD erzeugt (make isoimage ...) und versucht davon zu booten?

Wenn du mit dem letzten lauffähigen Kernel bootest, findest du dann Spuren des gescheiterten Boot-Versuchs in /var/log/messages?

----------

## musv

 *platinumviper wrote:*   

> Ich habe keine Probleme mit 3.15.2 auf einem 32-Bit und mehreren 64-Bit Systemen.

 

Hmm. Und du hast auch immer nur per make oldconfig die Config vom alten Kernel zum neuen mitgeschleift?

Werd eventuell noch mal die Kernelconfig von ganz vorn bauen. 

 *platinumviper wrote:*   

>  Vielleicht liegt's am GRUB, der macht bei mir immer Probleme, teilweise dauert es über eine Stunde vom Start des GRUB bis zur Anzeige der Auswahl. 

 

Ich benutz Grub2 ohne die vorgefertigten Scripte. D.h. nach dem Kernel-Update aktualisier ich die Config selbst. Klappt bei mir eigentlich problemlos. 

 *platinumviper wrote:*   

> Hast du mal eine Rescue-CD erzeugt (make isoimage ...) und versucht davon zu booten?

 

Mach ich wie genau? 

 *platinumviper wrote:*   

> Wenn du mit dem letzten lauffähigen Kernel bootest, findest du dann Spuren des gescheiterten Boot-Versuchs in /var/log/messages?

 

Nichts dergleichen. Bis zum Logging kommt der Kernel ja gar nicht.

----------

## ChrisJumper

Also ich hatte keine Probleme mit 3.14 und auch nicht mit 3.15. Das einzige Problem zwischendurch wo ein Kernel nicht "richtig gebootet" hat, war lediglich ein Fehler mit unstable nvidia-drivers irgendwo zwischen 337.25 und kleiner als 340.17. Aber aktuell ist das Problem nicht vorhanden.

Da ich aber hier gentoo-sources 3.15.0-r1 verwende bin ich vielleicht noch nicht aktuell genug um in diese Probleme zu laufen. Doch du hast doch immer den alten Kernel noch vorrätig oder? Von daher ist es doch eigentlich kein Problem wenn einer mal nicht bootet.

Oder machst du dir sorgen wegen dem Lempel-Ziv-Kompersions-Bug?

----------

## Randy Andy

Hi musv und Chris.

Ich verwende bereits den 3.15.2er kernel 32+64 bit und kann Euch daher versichern, dass es nicht an ihm liegt.

Musv, da wir ja beide recht ähnliche Hardware verwenden hat diese Aussage für dich um so mehr Substanz.

Auch ich habe seit Urzeiten per oldconfig meine kernel.config upgedated, allerdings übernehme ich häufig nicht die Standardvorgaben darin, insofern kämen auch hier noch ein paar Dinge in Betracht, s.u.

Allerdeings hatte ich auch schon kürzlich einige male tückische Probleme dank des verf*ten nvidia-drivers die beim booten in kernel panic mündeten.

Was dann half war entweder das direkte Löschen diese Verzeichnisses

```
/lib/modules/<kernel-version>/video/
```

oder aber die Keule mittels eines make clean vor dem Kernel-Bau.

Sollte das nichts bringen, so vergleich mal diese Settings mit den deinen:

```

#

# Frame buffer hardware drivers

#

# CONFIG_FB_CIRRUS is not set

# CONFIG_FB_PM2 is not set

# CONFIG_FB_CYBER2000 is not set

# CONFIG_FB_ARC is not set

# CONFIG_FB_ASILIANT is not set

# CONFIG_FB_IMSTT is not set

# CONFIG_FB_VGA16 is not set

# CONFIG_FB_UVESA is not set

# CONFIG_FB_VESA is not set

# CONFIG_FB_N411 is not set

# CONFIG_FB_HGA is not set

# CONFIG_FB_OPENCORES is not set

# CONFIG_FB_S1D13XXX is not set

# CONFIG_FB_NVIDIA is not set

# CONFIG_FB_RIVA is not set

# CONFIG_FB_I740 is not set

# CONFIG_FB_LE80578 is not set

# CONFIG_FB_MATROX is not set

# CONFIG_FB_RADEON is not set

# CONFIG_FB_ATY128 is not set

# CONFIG_FB_ATY is not set

# CONFIG_FB_S3 is not set

# CONFIG_FB_SAVAGE is not set

# CONFIG_FB_SIS is not set

# CONFIG_FB_VIA is not set

# CONFIG_FB_NEOMAGIC is not set

# CONFIG_FB_KYRO is not set

# CONFIG_FB_3DFX is not set

# CONFIG_FB_VOODOO1 is not set

# CONFIG_FB_VT8623 is not set

# CONFIG_FB_TRIDENT is not set

# CONFIG_FB_ARK is not set

# CONFIG_FB_PM3 is not set

# CONFIG_FB_CARMINE is not set

# CONFIG_FB_TMIO is not set

# CONFIG_FB_SMSCUFX is not set

# CONFIG_FB_UDL is not set

# CONFIG_FB_GOLDFISH is not set

# CONFIG_FB_VIRTUAL is not set

# CONFIG_XEN_FBDEV_FRONTEND is not set

# CONFIG_FB_METRONOME is not set

# CONFIG_FB_MB862XX is not set

# CONFIG_FB_BROADSHEET is not set

# CONFIG_FB_AUO_K190X is not set

# CONFIG_FB_SIMPLE is not set

# CONFIG_EXYNOS_VIDEO is not set

CONFIG_BACKLIGHT_LCD_SUPPORT=y

# CONFIG_LCD_CLASS_DEVICE is not set

CONFIG_BACKLIGHT_CLASS_DEVICE=y

# CONFIG_BACKLIGHT_GENERIC is not set

# CONFIG_BACKLIGHT_APPLE is not set

# CONFIG_BACKLIGHT_SAHARA is not set

# CONFIG_BACKLIGHT_ADP8860 is not set

# CONFIG_BACKLIGHT_ADP8870 is not set

# CONFIG_BACKLIGHT_LM3630A is not set

# CONFIG_BACKLIGHT_LM3639 is not set

# CONFIG_BACKLIGHT_LP855X is not set

# CONFIG_BACKLIGHT_GPIO is not set

# CONFIG_BACKLIGHT_LV5207LP is not set

# CONFIG_BACKLIGHT_BD6107 is not set

# CONFIG_VGASTATE is not set

#

# Console display driver support

#

CONFIG_VGA_CONSOLE=y

CONFIG_VGACON_SOFT_SCROLLBACK=y

CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64

CONFIG_DUMMY_CONSOLE=y

CONFIG_FRAMEBUFFER_CONSOLE=y

CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y

# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set

# CONFIG_FB_CON_DECOR is not set

CONFIG_LOGO=y

CONFIG_LOGO_LINUX_MONO=y

CONFIG_LOGO_LINUX_VGA16=y

CONFIG_LOGO_LINUX_CLUT224=y

```

Ich glaube mich zu erinnern das es da bezgl irgendwelcher Framebuffer Einträge aus kernel 3.13.

CONFIG_FB_VESA=y

CONFIG_FB_EFI=y

zu 3.14/15 Standardmäßige Änderungen gegeben hatte, die ich abgewählt habe. Vielleicht kollidiert da was mit dem Nvidia Kernel Modul.

Ansonsten sei noch der Hinweis gegeben das ich openrc mit GRUB Legacy verwende, was die Vergleichbarkeit wiederum reduziert.

Viel Erfolg dann noch beim Lösen deines Problems.

Gruß, Andy.

----------

## platinumviper

 *musv wrote:*   

>  *platinumviper wrote:*   Hast du mal eine Rescue-CD erzeugt (make isoimage ...) und versucht davon zu booten? 
> 
> Mach ich wie genau? 

 

Im Kernel Verzeichnis 

```
make isoimage FDARGS="root=/dev/sdXX"
```

 sollte reichen, falls du aus irgendwelchen Gründen eine RAM-Disk brauchst, musst du die mit FDINITRD=file angeben, ebenso eventuelle weitere Parameter. Die image.iso liegt dann in $KBUILD_OUTPUT/arch/x86/boot (auch bei x86_64 Rechnern).

Die .config aktualisiere ich immer mit oldconfig, nur wenn ich die Hardware ändere oder ein Programm spezielle Kernel-Parameter möchte rufe ich anschließend make menuconfig auf.

----------

## musv

So, bin jetzt mal einen halben Schritt weiter. 

Hab jetzt bei der 3.15 mal die .config gelöscht und ein make menuconfig ausgeführt. Mit der ersten Option (Gentoo Linux Support) bekommt man ja angeblich eine funktionierende Grundkonfiguration. Die benötigten Treiber, z.B. Hardware und Dateisystem hab ich reingenommen. Hab das Ganze gebaut. -> Der Rechner schmiert noch immer ab. 

Jetzt der nächste Test, ob's vielleicht gar nicht am Kernel selbst liegt. 

Hab die 3.13.6 (aktuell verwendeter Kernel) hergenommen, ein Backup gemacht, make clean ausgeführt, das Ganze neu gebaut und versucht zu booten. Der Rechner bootet, zeigt mir aber die Framebuffer-Konsole nicht mehr an. Fehlermeldung da:

```
[    0.916134] uvesafb: failed to execute /sbin/v86d

[    0.916137] uvesafb: make sure that the v86d helper is installed and executable

[    0.916141] uvesafb: Getting VBE info block failed (eax=0x4f00, err=-2)

[    0.916143] uvesafb: vbe_init() failed with -22

[    0.916147] uvesafb: probe of uvesafb.0 failed with error -22
```

v86d ist eigentlich installiert.

Ich probier mal weiter.

----------

## musv

Bin jetzt wieder zwei Schritte weiter. Aus irgendeinem Grund konnte ich jetzt auch nicht mehr in den 3.13.6 booten. 

Also hab ich mal Grub gebootet, dann bin ich in die Commandozeile reingegangen und hab dort noch den rootfstype=btrfs angegeben. Dann einfach mit boot gestartet. Jetzt bin ich im Kernel-3.15.1 drin. Wie gesagt, geht der Framebuffer erst mal nicht mehr. 

Dmesg meint folgendes:

```
 BOOT_IMAGE=/boot/bzImage-3151 root=/dev/sda3 init=/usr/lib/systemd/systemd rootfstype=btrfs
```

Das Scheitern des Kernels lag wohl in erster Linie am fehlenden "rootfstype=btrfs".

Update:

Das Booten funktioniert jetzt. Jetzt würde ich nur gern meine Framebufferconsole wieder zurück haben. Wie krieg ich das hin? Welche Einstellungen verwendet ihr dafür?

Welcher Treiber: vesa, uvesafb, irgendwas anderes?

Welche Boot-Parameter im Grub?

Ich hatte bisher uvesafb und als Bootprompt:

```
video=uvesafb:ywrap,mtrr:3,1440x900-32@60
```

----------

## ChrisJumper

Hm, leider ist Spocks Seite nicht mehr auffindbar.

/usr/src/linux/Documentation/fb/uvesafb.txt

Hat aber noch Tipps zu den Kernelparametern. Ein Bild verwendest du nicht oder, du willst nur diese höhere Auflösung haben.

Hast du v86d noch installiert?

```
[I] sys-apps/v86d

     Available versions:  0.1.10 {debug x86emu}

     Installed versions:  0.1.10(16:49:09 02.03.2011)(x86emu -debug)

     Homepage:            http://dev.gentoo.org/~spock/projects/uvesafb/

     Description:         A daemon to run x86 code in an emulated environment.

```

Und im Kernel zugewiesen?

```
 $ grep -i v86 /usr/src/linux/.config

CONFIG_INITRAMFS_SOURCE="/usr/share/v86d/initramfs"
```

Hast du /usr auf einer anderen Partition liegen als deine Root-Partition? Irgendwo in meinem Hirn schlummert eine Erinnerung die mir sagt: Da war mal was mit Systemd und udev. Eine eselect news Mitteilung die warnte: /usr auf einer anderen Partition sonst kann das System evtl nicht mehr booten.

Ah, archive.org hat noch eine alte Seite von Spock:

web.archive.org spock/projects/uvesafb

 *Quote:*   

> uvesafb::installation instructions
> 
> uvesafb is included in gentoo-sources >= 2.6.23 and from 2.6.24 onwards also in the mainline kernel. If you happen to be using any of these, you don't have to patch your kernel manually. Otherwise, just download the patch using the link above and run cd /usr/src/linux ; cat uvesafb-0.1-rc3-2.6.23-rc3.patch | patch -p1
> 
> The guide below assumes you're using Gentoo Linux. If you happen do be using another distro, replace all emerge steps with unpack ; ./configure ; make ; make install or similar.
> ...

 

----------

## musv

 *ChrisJumper wrote:*   

> Hm, leider ist Spocks Seite nicht mehr auffindbar.

 

Ja, uvesafb mit Bootsplash ist / war sein Projekt. 

Aber eigentlich brauch ich eine Konsole mit einer vernünftigen Auflösung nur für den Notfall. Am liebsten wäre mir eine mit 256 Farben, damit meine Vimkonfiguration richtig funktioniert. 

Was ich nicht will, sind irgendwelche Userspace-Abhängigkeiten, bei denen ich u.U. nach jedem größeren Kernelupdate erst mal fummeln muss, damit genau die Notfallkonsole wieder funktioniert.

----------

