Kernel Panic mit Kerneln ab 2.6.8 und S-ATA Platte

X-Dimension

Grand Admiral Special
Mitglied seit
04.03.2002
Beiträge
4.415
Renomée
6
Standort
Im Wald
Hallo, das Problem habe ich ja schon im ATI-Treiber Thread geschildert, aber ich mache hier mal einen Extra Thred auf in der Hoffnung daß mehr Leute rein gucken.

Ich habe das Problem daß auf meinem Hauptrechner kein Kernel > 2.6.7 funktioniert und das System dann immer mit einer Kernel-Panic hängen bleibt.
Dazu muß ich sagen daß das Problem mit den Originalen Mandrake Kerneln auftritt und auch mit Selbst-kompilierten.
Die Mandrake Kernel nutzen eine initrd, bei den selbstkompilierten Kerneln habe ich es mal mit und mal ohne getestet aber es half nichts!

Bei den original Mandrake Kerneln bekomme ich immer folgende Fehlermeldung:

mounting root filesystem
mount: error 6 mounting xfs flags defaults
well, retrying without the option flags
mount: error 6 mounting xfs
well, retrying read only without any flag
mount: error 6 mounting xfs
pivotroot: pivot_root(sysroot,/sysroot/initrd) failed 2
umount /initrd/sys failed 2
umount /initrd/proc failed 2
initrd finished
Freeing unused Kernel Memory:
Kernel Panic - not syncing: No init found. Try passing init= option to kernel

Bei den selbst gebackenen kommt immer
"Cannot find root device on block 3,1"
aber auch nur mit Kernel 2.6.8 und höher!

Es vermute daß irgendwas im S-ATA Bereich geändert wurde, denn auf meinem Zweitrechner habe ich mit P-ATA Platten keine Probleme und die Hardware ist nahezu identisch.

Hat jemand vielleicht eine idee?

XD
 
Welchen SATA Treiber verwendest du denn?

Ich habe mit 2.6.9 bzw. 2.6.10 keine Probleme mit dem SATA Treiber, allerdings liegt meine / Parition auch auf eine IDE Platte.
 
Welcher Chip, welcher Treiber, als Modul oder fest eincompiliert? Bei funktioniert SATA problemlos, bis einschließlich 2.6.11-rc2. Das ganze mit einem Silicon Image 3114.
 
Mein Soyo KT600 Dragon PE hat 2 S-ATA Controller.
1x VIA
1x SIL

Die Platte hängt am ersten S-ATA Kanal der VIA Southbridge.
Den SIL Controller habe ich im BIOS deaktiviert.
Am Primary IDE Kanal hängen nur ein Brenner(Master) und ein DVD Laufwerk(Slave). Der Secondary IDE ist nicht belegt.

Installiert hatte ich das System damals mit MDK10 (Kernel 2.6.3) und von da an habe ich immer regelmäßig per urpmi ein Cooker Update gemacht, damit ich nicht immer auf die Final Versionen warten muß :)

Die Platte wird bei mir als /hda angesprochen und nicht per SCSI Emulation (/sda)
Treiber wären libata und sata-via

XD
 
Original geschrieben von X-Dimension
Die Platte wird bei mir als /hda angesprochen und nicht per SCSI Emulation (/sda)
Treiber wären libata und sata-via

Ist er nicht, sonst wäre deine Platte über sda zu erreichen. Das heisst also, dass bei dir der IDE-Treiber seine Arbeit verrichtet. Compilier mal nen neuen Kernel, mit dem Treiber von libata.
 
Hmm beim 2.6.7er Kernel zeigt mir "lsmod" an daß libata und via_sata geladen sind.
In der modprobe.conf und in der modprobe.preload stehen sie nicht, also müssen sie irgendwie vom Kernel geladen werden.
Der einzige IDE Treiber ist IDE-CD aber sonst finde ich hier nichts...

Ich habe gerade den neuesten Mandrake Multimedia Kernel gebacken, ohne Ramdisk-Support.

Unter "scsi low-level driver" habe ich "SATA Support" und "VIA S-ATA Support" in den Kernel gestopft.

Unter "Drivers -> ATA/blabla" ist S-ATA deaktiviert. (Standard bei Mandrake)

Wenn ich den Kernel nun boote kommt:
VFS: cannot open root device "801" or unknown-block (8,1)

Wie kommt er auf Block 8,1 ??? (liegt es evtl daran daß ich "boot offboard chipsets first" deaktiviert habe? -> war vorher aktiviert)

EDIT
Ich sehe gerade das "via-sata support" nur als Modul kompiliert wurde. Wenn ich es in den Kernel packen will bricht er beim kompilieren ab

"WARNING: /lib/modules/2.6.10-1.mm.8mdk/kernel/drivers/scsi/ahci.ko needs unknown symbol ata_qc_complete"

EDIT
Habe ahci support mal raus geschmissen... mal gucken...

EDIT
So jetzt ließ sich das ganze kompilieren.
Habe "boot off board chipsets first" wieder aktiviert
Und auch den Support für den SIL Controller komplett raus genommen.

Es kommt wieder die gleiche meldung:
VFS: cannot open root device "801" or unknown-block (8,1)

Wenn ich dann die initrd wieder mit einbaue, dann gibt es wieder das Problem wie im ersten Posting.

XD
 
Zuletzt bearbeitet:
Beim herumspielen sind mir noch folgende Dinge aufgefallen:

Dem kernel2.6.7 ist es irgendwie total egal ob ich in der fstab /sda1 oder /hda1 als root device eintrage.
Es wird scheinbar "ignoriert" das system bootet so oder so und die Platte wird immer als hda angesprochen!

Beim selbstgebauten Kernel 2.6.10 ist hda das dvd-laufwerk.
Komischerweise wird die Festplatte nicht angezeigt *noahnung*

-EDIT-
So, jetzt habe ich alles was mit SCSI Support zu tun hat auch noch in den Kernel integriert.
Jetzt wird libata endlich beim booten geladen und die Festplatte angezeigt.
Aber es findet keine zuweisung statt (sda1 usw)
Und es kommt immernoch die gleiche fehlermeldung. unkown-block (8,1)

XD
 
Zuletzt bearbeitet:
Dann gib mal dem neuen Kernel root=/dev/sda1 als Parameter mit. Wenn beim alten Kernel wirklich hda das Laufwerk ist, wird das auch so fest im Kernel eingemeißelt. Das musst du dann mittels Bootparameter übergehen.
 
Dann kommt folgende Meldung:

VFS: cannot open root device "sda1" or unknown-block (0,0)

Die Maxtor festplatte wird mir übrigens von libata als "scsi1:" angezeigt.

Ist das eine offzielle device bezeichnung oder kann ich draraus evtl das sdax ableiten?

XD
 
So, seit der Installation von Kernel 2.6.10 (ohne mm) bootet auch kernel 2.6.7 nicht mehr (gleiche Fehlermeldung)
Ich installiere jetzt wieder MDK10 und versuche es dann nochmal mit dem Kernel-Update.

XD
 
Nein, daran lag es nicht.
Als ich Mandrake 10 neu installiert habe und dann ein update auf Kernel 2.6.10 gemacht habe. Funktionierte der Kernel 2.6.3 von MDK10 auch nicht mehr!

Also musste ich Mandy wieder neu installieren und jetzt versuche ich gerade die erste CD von Mandy 10.2beta zu saugen damit ich eine Minimal-Installation mit Kernel 2.6.10 machen kann.

XD
 
So, mit der Mandy beta hat es jetzt endlich funktioniert.
Das Problem war wirklich daß Mandrake 10 und alle Kernel bis 2.6.7 die S-ATA Platte als /dev/hda ansprechen!
Ab Mandrake 10.1 und kernel 2.6.8 werden S-ATA platten als /dev/sda angesprochen.

Ich weiß zwar nicht warum die Umstellung von hda auf sda nicht geklappt hat, aber immerhin funktioniert es jetzt...

XD
 
hmmm warum wird so eine Umstellung gemacht? Ist die Performance nicht so gut wenn man die SATA Platte über den IDE Treiber angesprochen wird? Wie geht das überhaupt?

Mir ist nämlich aufgefallen dass meine SATA Platte unter Knoppix als /dev/hde erkannt wird, von meinem Debian als /dev/sda
 
hdparm -t zeigt mir 1-2Mb/s mehr an als über die IDE Treiber. Ich denke die Kernel-Hacker werden schon ihre Gründe gehabt haben warum S-ATA jetzt über die SCSI Emulation angesprochen wird.

Allerdings kan hddtemp die Temperatur der Platte nun nicht mehr auslesen :(

XD
 
ok, das ist Grund genug es umzustellen.

Aber wie kann man die SATA Platte über den IDE Treiber ansprechen?
 
Es gibt da im Kernel eine Einstellung unter driver -> ATA/ATAPI...

Offensichtlich wurde die in den älteren Kerneln anstelle der libata genutzt.
Allerdings wurde bei mir die libata trotzdem immer geladen *noahnung*

XD
 
Zurück
Oben Unten