# 2.6.23 kernel panic [GELÖST]

## frary

Huhu!

Ich versuche seit einigen Wochen (seit ich das uvesafb-howto gelesen habe) einen 2.6.23 Kernel zu bauen. Mittlerweile ist 2.6.23-r3 sogar stable und ich habs immer noch nicht geschafft...bitte um Hilfe.

Ich benutze die gentoo-sources. Bisher hatte ich nie Probleme beim Kernelbau: 

Symlink ändern, .config kopieren, oldconfig, genkernel (all --menuconfig), .config.bak geladen, eventuell angepasst und gebaut, fertig!

Allerdings scheine ich eine Änderung von 22 auf 23 verpasst zu haben, denn der Kernel findet mein 

```
root=/dev/sda6
```

 nicht, bzw. behauptet das wäre keine passende Partition. Die Grub-Zeile ist die gleiche wie beim vorigen Kernel, welche Änderung hab ich verpasst?

BTW, ich hatte den gleichen Fehler auch beim Versuch einen 2.6.22-r9 zu bauen.

Weitere Infos auf Anfrage, bevor ich die Seite mit config-auszügen vollmache  :Very Happy: 

Gruß

T

----------

## firefly

 *frary wrote:*   

> Huhu!
> 
> Ich versuche seit einigen Wochen (seit ich das uvesafb-howto gelesen habe) einen 2.6.23 Kernel zu bauen. Mittlerweile ist 2.6.23-r3 sogar stable und ich habs immer noch nicht geschafft...bitte um Hilfe.
> 
> Ich benutze die gentoo-sources. Bisher hatte ich nie Probleme beim Kernelbau: 
> ...

 

öhm wiso hast du die .config.bak wieder geladen, wenn du eh ein make oldconfig vorher gemacht hast?

normalerweise reicht folgendes.

- kopiere .config datei von "alten" Kernel ins verzeichniss der neuen

- ausführen von make oldconfig im neuen kernel-verzeichniss

- eventuell mit make menuconfig, xconfig ... die konfiguration überprüfen.

- kernel erstellen und nach boot kopieren

----------

## frary

Ich übernehme die .config.bak weil genkernel nochmal ein oldconfig mach und anschließend der Prozessortyp nichtmehr stimmt (unter anderem). D.h. meine mit oldconfig angepasste .config wird von Genkernel irgendwie überschrieben.....bisher hats so aber immer gepasst, ausser bei größeren Änderungen im Kernel. Ich konnte aber in all den Threads und im Kernel Changelog keine Änderung finden, die den Sata-Treiber betrifft. Trotzdem scheint entweder der Treiber nicht (oder nicht richtig) gebaut zu werden, oder die Syntax in der Grub.conf passt nicht mehr:

```
title=gentoo 2.6.22-r8

root (hd0,2)

kernel (hd0,2)/kernel-genkernel-x86-2.6.22-gentoo-r8 root=/dev/sda6 init=/linuxrc ramdisk=8192 video=vesafb:mtrr,xywrap,1280x800-32@60
```

funktioniert

```

title=gentoo 2.6.22-r9

root (hd0,2)

kernel (hd0,2)/kernel-genkernel-x86-2.6.22-gentoo-r9 root=/dev/sda6 init=/linuxrc ramdisk=8192 video=vesafb:mtrr,xywrap,1280x800-32@60

title=gentoo 2.6.23-r3

root (hd0,2)

kernel (hd0,2)/kernel-genkernel-x86-2.6.23-gentoo-r3 root=/dev/sda6 init=/linuxrc ramdisk=8192 video=vesafb:mtrr,xywrap,1280x800-32@60
```

resultiert beides in panic, weil rootfs nicht gefunden wird...

----------

## firefly

du könntest mal probieren den 2.6.23 neu zu erstellen (mit genkernel) ohne die alte zu verwenden.

----------

## ChrisJumper

Hi!

Ich wollte nur kurz einwerfen das make oldconfig, für einen etwas größeren Kernelsprung nicht wirklich gemacht ist!

Zumindest hab ich die Erfahrung gemacht, das der Sprung von 22 auf 23 eine unüberwindbare Hürde für das kleine Programm ist. Am besten nimmst du dir Zeit und sammelst nochmal alle Einstellungen aus deinem aktuellen Kernel, schreibst sie auf und führst make menuconfig/make xconfig aus und wählst alles mit Bedacht erneut aus.

Die Menüstrukturen haben sich verändert. Viele Dinge sind überholt und werden durch neue ersetzt und mache Kombinationen von Einstellungen sind dann auch nicht kompatibel. Und damit mene ich das fbsplash teilweise umgetauft wurde usw.

Bye

----------

## Anarcho

 *ChrisJumper wrote:*   

> Hi!
> 
> Ich wollte nur kurz einwerfen das make oldconfig, für einen etwas größeren Kernelsprung nicht wirklich gemacht ist!
> 
> Zumindest hab ich die Erfahrung gemacht, das der Sprung von 22 auf 23 eine unüberwindbare Hürde für das kleine Programm ist. Am besten nimmst du dir Zeit und sammelst nochmal alle Einstellungen aus deinem aktuellen Kernel, schreibst sie auf und führst make menuconfig/make xconfig aus und wählst alles mit Bedacht erneut aus.
> ...

 

Also ich verwende nie "oldconfig". Ich kopiere immer die alte .config und führe dann make menuconfig durch. Dabei gehe ich alles wichtige durch. Ich verwende die alte also nur um eine halbwegs sinnvolle Default-Einstellung zu haben.

Das mache ich jetzt seit 2.6.5 so und bin damit gut gefahren.

----------

## Stormkings

Hallo,

also nur der vollständigkeit halber: Ich mach seit ewigen zeiten (heißt soweit ich mir erinnere) alles mit "make oldconfig" und habe noch nie irgendeinen fehler dabei gehabt. Der einzige unterschied zu eurem vorgehen ist, dass ich mir die config mit "zcat /proc/config.gz > .config " hole. Wenn sich irgendwas ändert von version zu version sollte "make oldconfig" doch nachfragen. Jedenfalls tut es das hier. Vorrausgesetzt ist natürlich man liest sich das durch und bestätigt sinnvoll.

gruß, dk

----------

## ChrisJumper

Hi Stormkings!

Also ich lese wirklich immer ALLES!. Aber make oldconfig ist nunmal keine Wollmilchsau. Es fragt mich immer wenn "neue Optionen/Module" hinzugekommen sind. Daher muss ich dann jeden nervigen Treiber mit "(N)ee brauch ich nicht", wegtippen. Ich dachte auch immer das es sich an neue Strukturen mit alten Einstellungen anpasst. Aber genau das scheint nicht der Fall zu sein.

Schönstes Beispiel ist iptables. Dort haben sich von 22 nach 23 soviel geändert das mein Iptables-Script nicht gestartet werden konnte. Da diverse Module eben nicht "richtig" eingebaut wurden. Das Problem liegt dann irgendwie so: Kommt dem Überblickwillen ein neues "Obermenü" hinzu, das man mit y(es in den Kernel einbauen) hinzufügen muss damit die Unterpunkte aktiviert werden. "Hab ich das Gefühl" (richtig, ich habs noch nicht bis auf kleinste ausprobiert und bestätigt) das die anderen Optionen zwar ausgewählt sind, dieses eine aber nicht und deswegen finden einige Stücke ihren Weg in den Kernel nicht!

Oder halt diese kleinen Intelligenten Dinge wie: Ab Kernel 2.6.23 benötigt man FB_UVESA statt FB_VESA und die ganzen Scherze da drumrum. Mit einem einfachen make oldconfig ist es da nicht getan. Aber ansonsten muss ich halt auch gestehen das ich wenn nicht grade so "große Sprünge anstehen" auch immer alles mit make oldconfig und das auch weiterhin tun werde.

Gruß Chris

----------

## Finswimmer

Generell. Wenn nichts Neues hinzukommt lasse ich den Kernel so.

Und wenn ich alle halbe Jahr meine Kernel neu baue, dann komplett.

Alles andere ist meist nicht so gut.

Tobi

----------

## ChrisJumper

 *frary wrote:*   

> Ich konnte aber in all den Threads und im Kernel Changelog keine Änderung finden, die den Sata-Treiber betrifft. Trotzdem scheint entweder der Treiber nicht (oder nicht richtig) gebaut zu werden, oder die Syntax in der Grub.conf passt nicht mehr: ...

 

Um nochmal drauf zurückzukommen: Welchen Treiber verwendest du denn? Wie heißt dein Sata-Controller (einen lspci Ausschnitt bitte) und  welche Dinge hast du "aktuell" im 2.6.22-Kernel anders gesetzt als im 2.6.23?

Bei mir schauen die noch so aus:

Letzte Kernel-Config von 2.6.22er

```
$ grep -i SATA /boot/kernelconf-2.6.22-gentoo-v9

# CONFIG_BLK_DEV_IDE_SATA is not set

# CONFIG_SATA_AHCI is not set

# CONFIG_SATA_SVW is not set

# CONFIG_SATA_MV is not set

# CONFIG_SATA_NV is not set

# CONFIG_SATA_QSTOR is not set

# CONFIG_SATA_PROMISE is not set

# CONFIG_SATA_SX4 is not set

# CONFIG_SATA_SIL is not set

# CONFIG_SATA_SIL24 is not set

# CONFIG_SATA_SIS is not set

# CONFIG_SATA_ULI is not set

CONFIG_SATA_VIA=y

# CONFIG_SATA_VITESSE is not set

# CONFIG_SATA_INIC162X is not set
```

Aktuelle Kernel-Config vom 2.6.23er:

```
$ grep -i SATA /boot/kernelconf-2.6.23-gentoo-v3

# CONFIG_BLK_DEV_IDE_SATA is not set

CONFIG_SATA_AHCI=y

CONFIG_SATA_SVW=y

# CONFIG_SATA_MV is not set

CONFIG_SATA_NV=y

# CONFIG_SATA_QSTOR is not set

# CONFIG_SATA_PROMISE is not set

# CONFIG_SATA_SX4 is not set

CONFIG_SATA_SIL=y

# CONFIG_SATA_SIL24 is not set

# CONFIG_SATA_SIS is not set

# CONFIG_SATA_ULI is not set

CONFIG_SATA_VIA=y

# CONFIG_SATA_VITESSE is not set

# CONFIG_SATA_INIC162X is not set
```

Wahrscheinlich hab ich aber nur einige Default-Treiber vergessen zu deaktivieren. (SATA_SIL, SATA_SVW, SATA_NV).

Da du scheinbar auch vesafb benutzen willst hier ein Hinweis:

gentoo-wiki-Fbsplash-Deutsch

Demnach muss man auch wie schon erwähnt satt vesafb uvesafb verwenden UND (lies dir das in dem Wiki genau durch). Den 2.6.23 Kernel einmal Kompilieren dev-libs/klibc neu bauen, neustarten und dann  sys-apps/v86d emergen, dann den Kernel nochmal neu konfiguren (/usr/share/v86d/initramfs in Initramfs source file(s) angeben!) nochmal neu bauen und dann neu starten, und alles sollte Funktionieren ;D

----------

## frary

Hmm, eigentlich wollte ich ja keine Diskussion zum Thema Kernel-Update starten, aber danke für die Hinweise  :Very Happy:  .

Ich wollte lediglich wissen, welche Veränderung beim Wechsel auf 2.6.23 meinen Bootfehler verursacht. Hab jetzt auf meinem Desktop mal den Wechsel gemacht und siehe da: oldconfig usw. grub.conf angepasst und Kernel startet. Die Antwort auf meine Frage ist also wohl dass die Sata-Treiber für die Santa-Rosa Architektur jetzt woanders zu finden sind!

Werds heute abend mal suchen und den Thread vervollständigen, falls noch wer auf das gleiche Problem trifft.

BTW: Falls jemand schon nachgeschaut hat bin ich trotzdem für einen Tip dankbar (weil ich ein fauler Sack bin!)

Gruß

T

----------

## big-birdy

Welche Fehlermeldung bekommst du? Ich konnte kein Kernel Ugrade von 2.6.19-r5? auf den 2.6.22 und 2.6.23-r3 machen. Der neue Kernel hat die Sata Platte nie erkannt. Ich verwende nun den 2.6.23-r5. Hatte hier keine Probleme. (Bei gleichen Einstellungen). Der Kernel hat direkt gebootet. 

mfg

Big-birdy

----------

## frary

Na die erwähnte panic mit dem Hinweis, ich solle doch eine korrekte root= Partition angeben. Ich bau jetzt mal den r5, wenn das funktioniert bin ich echt Wochenlang im dunkeln getappt! Danke für den Hinweis, bin gerade beim bauen und gespannt  :Rolling Eyes:  !

Hast du auch ein SZ61 bzw. die entprechenden Innereien?

Gruß

T

----------

## LeonGaultier

Schreib mal bitte ob es geklappt hat, habe mit meinem Server genau das selbige Problem   :Smile: 

Gruß Leon

----------

## frary

Leider hat es nicht geklappt. Zudem macht mich die Fehlermeldung echt fertig!

Mit der .config vom 2.6.22 (nur mit oldconfig angepasst ohne Änderungen) sagt er in etwa:

```
VFS: Cannot open root device /dev/sda6 or unknown Block (0,0)
```

Ich hab mal auf Verdacht die Grub-Zeile editiert und real_root=... angegeben, dann heisst es etwa so:

```
VFS: Cannot open root device <NULL> ......
```

Und wenn ich statt dem Sata-Treiber für mein System den AHCI-SATA nehme (andere Variante laut diesem Howto: http://www.linuxforen.de/forums/showthread.php?t=238142) sagt er ebenfalls nix von sda6 sondern wieder ...<NULL>.

Ich interpretiere mal, dass die Platte bei Versuch 1 gefunden wird, bei den beiden anderen nicht...richtig? Wenn es so ist, dann ist eher meine Grub-Zeile schräg, aber sda6 ist nunmal root:

```
Befehl (m für Hilfe): p

Platte /dev/sda: 120.0 GByte, 120034123776 Byte

255 Köpfe, 63 Sektoren/Spuren, 14593 Zylinder

Einheiten = Zylinder von 16065 × 512 = 8225280 Bytes

   Gerät  boot.     Anfang        Ende     Blöcke   Id  System

/dev/sda1               1        1216     9764864   27  Unbekannt

/dev/sda2   *        1216        7295    48828416    7  HPFS/NTFS

/dev/sda3   *        7295        7299       34913+  83  Linux

/dev/sda4            7300       14593    58589055    5  Erweiterte

/dev/sda5            7300        7543     1959898+  83  Linux

/dev/sda6            7544       12407    39070048+  83  Linux

/dev/sda7           12408       14593    17559013+  83  Linux
```

.

Ich steig echt nichtmehr durch, vielleicht kann jemand endlich Licht ins Dunkel bringen  :Rolling Eyes: 

Gruß

T

----------

## firefly

 *frary wrote:*   

> Leider hat es nicht geklappt. Zudem macht mich die Fehlermeldung echt fertig!
> 
> Mit der .config vom 2.6.22 (nur mit oldconfig angepasst ohne Änderungen) sagt er in etwa:
> 
> ```
> ...

 

solange du keine initrd vom genkernel verwendest ist "real_root=<device>" nicht korrekt sondern "root=<device>"

----------

## frary

Jo, ich wollte es nur versuchen weils mir Genkernel gesagt hat. Aber ist meine Interpretation der Fehlermeldung korrekt und die Platte wird in Fall 1 erkannt?

----------

## firefly

 *frary wrote:*   

> Jo, ich wollte es nur versuchen weils mir Genkernel gesagt hat. Aber ist meine Interpretation der Fehlermeldung korrekt und die Platte wird in Fall 1 erkannt?

 

wie denn nu verwendest du genkernel oder nicht?

wenn ja, dann muss du auch so die kernel zeile im bootloader angegeben wie es entweder genkernel selbst sagt(ich kenne genkernel nicht) oder wie es im handbuch zum genkernel drinnsteht

----------

## frary

Hmm, steht oben  :Rolling Eyes:  , aber ja, ich verwende genkernel. Schon seit etwa 4 Jahren...und die Zeile war mal

```
real_root=.....
```

 inclusive initrd. Ist irgendwann weggefallen und die Zeile die den 2.6.22 bootet funktionierte seitdem auch. Da aber mit dem 2.6.23 (r3 und r5) garnix funktioniert hab ich ein bissl experimentiert und alle HInweise genau gelesen. Der mit real_root war dabei aber nicht hilfreich  :Crying or Very sad: 

Ich hab den r5 jetzt mal beiseite gelegt und baue einen r3 komplett neu (ohne Anpassung der alten .config). Falls das geht melde ich erfolgreichen Verzug. Falls es nicht geht findet ihr mich in ein paar Monaten in einem Thread wieder in dem es um die Verwendung des Kernel 2.6.22 bis in alle Ewigkeit geht...

Gruß

T

----------

## Edward Nigma

Hallo   :Smile: 

Also ich würde es einfach mal ohne Genkernel versuchen.

Dazu würde ich ein "make menuconfig" machen und alle Einträge mit der alten Config von Kernel 2.6.22 vergleichen. "Make oldconfig" übernimmt nicht immer alles 1 zu 1, wenn sich viel im Kernel gerändert hat.

Du musst also die Einträge, nach einem "oldconfig", sorgfältig prüfen.

http://de.gentoo-wiki.com/Kernel_manuell_kompilieren

----------

## BrummBrumm

hm.. ich hatte sowas ähnliches auch mal... ich weiß nicht ob es exakt der fehler war. Beschämenderweise war der grund dass ich den dateisystemtreiber nur als modul im kernel hatte...

----------

## frary

Hmmm, ich hab den Kernel nochmal komplett neu gemacht. Leider will er immer noch nicht.

Die Dateisysteme sind fest im Kernel, das ist nicht das Problem. Ich versuchs jetzt nochmal mit dem ahci-sata statt dem ich und ohne den standart-ide. 

Ob mit oder ohne Genkernel sollte wohl keinen Unterschied machen wenn ich keine .config kopiere und alle Optionen neu setze...

Gruß

T

EDIT: 3 Versuche später...

Hier mal die genaue Fehlermeldung:

```
VFS: Cannot open root-device "sda6" or unknown-block (o,o)

please append a correct "root=" argument; availabe options are:

0300 3591968 hda driver: ide-cdrom

kernel panic - not syncing: VFS: unable to mount root fs on unknown-block (0,0)
```

Mittlerweile wäre es mir ganz recht wenn mich jemand "IDIOT" schimpft und mich auf einen banalen Fehler hinweißt....

----------

## firefly

 *frary wrote:*   

> Hmmm, ich hab den Kernel nochmal komplett neu gemacht. Leider will er immer noch nicht.
> 
> Die Dateisysteme sind fest im Kernel, das ist nicht das Problem. Ich versuchs jetzt nochmal mit dem ahci-sata statt dem ich und ohne den standart-ide. 
> 
> Ob mit oder ohne Genkernel sollte wohl keinen Unterschied machen wenn ich keine .config kopiere und alle Optionen neu setze...
> ...

 

So ein paar Sachen zum überprüfen:

- Den richtigen Treiber für den IDE/SATA-Kontroller ausgewählt?

- Wenn IDE ausgewählt, einer von den "alten" Treibern oder schon einen "neuen" auf libata aufbauenden ?

	   (neu = im Menupunkt "Serial ATA (prod) and Parallel ATA (experimental) drivers" -> device heist sd*

	     alt = "ATA/ATAPI/MFM/RLL support" -> device heist hd*)

- wenn ein Treiber unter "Serial ATA (prod) and Parallel ATA (experimental) drivers" ausgewählt dann schauen ob scsi disk support ist fest im kernel.

- Die Richtige Root partition ausgewählt (eventuell mehrere Festplatten im System)?

----------

## frary

 :Very Happy:   :Very Happy:   :Very Happy:   :Very Happy:   :Very Happy:   :Very Happy:   :Very Happy:   :Very Happy:   :Very Happy:   :Very Happy:   :Very Happy:   :Very Happy:   :Very Happy:   :Very Happy:   :Very Happy:   :Very Happy:   :Very Happy:   :Very Happy:   :Very Happy:   :Very Happy:   :Very Happy:   :Very Happy:   :Very Happy:   :Very Happy:   :Very Happy:   :Very Happy:   :Very Happy:   :Very Happy: 

Ok Firefly, du (und nur du!) darfst mich Idiot nennen. SCSI-Disk-Support war der Fehler. Das war offenbar die Option die nicht übernommen wurde und ich hab nicht dran gedacht! 1000 DANK!

Jetzt hab ich noch ein paar kleinere Baustellen (Wlan will mit dem neuen Kernel noch nicht), aber die krieg ich geklärt. Ich schreib dann hier für alle die über ähnliche Probleme stolpern...

Danke an alle die sich seit Wochen mit meinem Problem befasst haben  :Rolling Eyes: 

Gruß

T

----------

