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

Kernel 2.6.8.1 SATA Treiber

briggs

Newbie
Ich habe SuSE 9.0 Prof. und wollte nun den Vanilla Kernel 2.6.8.1 installieren. Doch leider bootet er nur bis zum einbinden des Dateisystems. Zuerst dachte ich würde es am RaiserFS modul liegen. Doch nun denke ich liegt es daran, dass der SATA Treiber nicht geladen wird. Nun würde ich gerne wissen, welche Konfiguration ich beim kompilieren einbinden muß. Wird der Treiber dann beim Start automatisch geladen und werden die Devices automatisch eingebunden in z.B. /dev/hdeX ?
 
A

Anonymous

Gast
Abhängig von dem verwendeten S-ATA Controller und der Kernelkonfiguration muss der Treiber in die Ramdisk eingebunden werden. Ich z.B. habe einen Intel S-ATA Controller und den Treiber als Modul kompiliert. Das bedeutet, dass ich mkinitrd mit der Option -m ata_piix ausführen muss (du kannst das Modul auch in /etc/sysconfig/kernel eintragen). Dabei werden noch ein paar andere Module in die Ramdisk geladen (z.B. libata), aber das Regeln die Abhängigkeiten in modules.dep automatisch.
 
OP
B

briggs

Newbie
Vielen Dank schonmal! Muß ich dann demnächst ausprobieren. Ist libata nicht das alte Modul, was deprecated ist? Muß nicht stattdessen ein Modul benutzt werden, das unter SCSI zu finden ist?

Ich habe übrigends eine NVIDIA SATA Controller und einen Silicon Image Sil 3114 SATA controller.
 
OP
B

briggs

Newbie
Schade das mir keiner antwortet.

Ich habe aber noch eine Frage: Was passiert mir Treibern, die ich direkt in den Kernel kompiliere? Werden die automatisch geladen? Oder muß ich die sozusagen erst aktivieren?
 
A

Anonymous

Gast
...und werden die Devices automatisch eingebunden in z.B. /dev/hdeX ?
Nein, als /dev/sdeX. Das musst du auch bei der /etc/fstab beachten. Die alten Treiber unter 9.0 haben die S-ATA Devices als hdx erkannt, libata erkennt als sdx. Das gibt natürlich Probleme mit der fstab, wenn der alte Kernel weiterlaufen soll. Auch beim erstellen der initrd muss das geänderte Rootdevice explizit angegeben werden (siehe man mkinitrd)

Ist libata nicht das alte Modul, was deprecated ist?
Nein, eher im Gegenteil (oder ich habe was verpasst).

Muß nicht stattdessen ein Modul benutzt werden, das unter SCSI zu finden ist?
Zu libata gehört ja noch der eigentliche Treiber. Und der ist, wie du richtig sagst, unter SCSI zu finden.

Ich habe aber noch eine Frage: Was passiert mir Treibern, die ich direkt in den Kernel kompiliere? Werden die automatisch geladen? Oder muß ich die sozusagen erst aktivieren?
Da sollte kein weiterer Eingriff notwenig sein. Geladen werden die nicht, denn sie sind quasi schon da.
 

Wastl

Member
ja

Kernel 2.4 behandelt SATA als IDE Devices (/dev/hdxy)
Kernel 2.6 behandelt SATA als SCSI Devices (/dev/sdxy)

Da empfiehlt sich am einfachsten irgenden (Rettungs)System zu booten welches kernel 2.6 fährt weil man sonst keine chance hat seine fstab und lilo.conf anzupassen.
Leider kann man danach dann in der Tat den alten Kernel nicht mehr booten....

lg
Wastl
 
OP
B

briggs

Newbie
Wastl schrieb:
ja

Kernel 2.4 behandelt SATA als IDE Devices (/dev/hdxy)
Kernel 2.6 behandelt SATA als SCSI Devices (/dev/sdxy)

Ist richtig scheiße!

Da empfiehlt sich am einfachsten irgenden (Rettungs)System zu booten welches kernel 2.6 fährt weil man sonst keine chance hat seine fstab und lilo.conf anzupassen.
Leider kann man danach dann in der Tat den alten Kernel nicht mehr booten....

Ich habs mit nem boot Skript gelöst, das je nach Kernel die richtige fstab kopiert und benutzt. Läuft somit mit 2.4 als auch mit 2.6.[/quote]
 
Oben