Debian von SCSI-Platte booten

B

Bytesplit

Grünschnabel
Hallo Leute!

nach einigen glücklichen Jahren mit FreeBSD und dem ein oder anderen Ausflug nach Suse oder Gentoo, bin ich heute doch auf den Trichter gekommen Debian zu installieren.

Die 100MB Miniinstall reichte mir fürs erste. Auf CD gebrannt und los gehts...

Naja, alles fein erkannt (1x IBM-RAID und 1x aic7xxx) und auf einer 18GB Platte installiert, testweise. Zu diesem Zeitpunkt war die Bootpartition sda1.

Ich hab auch dort (auf der 1. Partition) den grub installiert, da ich via GAG-Diskette noch FreeBSD, Windows und ein Suse starte. Dem GAG hatte ich jetzt auch noch Debian gegeben und wollte eben dieses jetzt booten.

Nun kommt der aic7xxx erst nach dem RAID, also ist sda1 jetzt sdb1. Der Grub findet also Linux nicht. Keine grosse Sache und mal root auf sdb gestellt, immer noch nichts "Couldn't find partition" o.ä..

Ich hab mich des Grubloaders meiner Suse-Install beholfen und dort bootet dann Debian von sdb1 in den Kernel. Der findet dann aber root nicht und kommt nicht weiter.

Ist denn im Std-2.4er Kernel Support für aic7xxx dabei? Anscheinend nicht. Wie baue ich mir ohne das System aber nen neuen Kernel mit Treiber?

Irgendwie muss das doch klappen... nur wie!?
 
Nen neuen Kernel mit den notwendigen Treibern kannst du dir z.B. in einer chroot-Umgebung bauen und installieren. Ich vermute aber mal, dass es schon reichen wird, wenn du die notwendigen Module in die initrd aufnimmst. Ich kann mir naemlich nicht vorstellen, dass die bei Debian nicht dabei sind.
 
Wenn Du die Platten verschiebst, solltest Du 3 Dinge anpassen:

1. GRUB sagen, dass er nicht mehr auf (hd0,0) sondern jetzt auf (hd1,0) sitzt.
2. In der menu.lst den root-Eintrag anpassen
3. In der /etc/fstab die Einträge korrigieren (primär den von / )

Ich glaube 1. und 3. fehlen bei dir noch ...
 
Goodspeed1978 schrieb:
Wenn Du die Platten verschiebst, solltest Du 3 Dinge anpassen:

1. GRUB sagen, dass er nicht mehr auf (hd0,0) sondern jetzt auf (hd1,0) sitzt.

in device.lst hab ich hd0 auf sdb umgelegt und hd1 auf sda.

Goodspeed1978 schrieb:
2. In der menu.lst den root-Eintrag anpassen

ist nach Tausch der hd-Zuordnung wohl nicht notwendig, das war jedenfalls meine Planung

Goodspeed1978 schrieb:
3. In der /etc/fstab die Einträge korrigieren (primär den von / )

ist bereits geschehen, ich glaub der Kernel bekommt aber die Platte garnicht erst zu Gesicht, da anscheinend per Default aic7xxx nicht im Kernel vorhanden ist.

Ich werde wohl von der CD booten und dann nen neuen Kernel über ein chroot bauen müssen. Rein theoretisch könnte ich dann direkt nen 2.6er bauen, soweit ich das Ziehen der Sourcen mit apt-get hinbekomme ;).

hat denn das mini-system alle nötigen Tools (make etc.) um den Kernel zu bauen?
 
Welchen Kernel nutzt Du?
Code:
config-2.4.27-2-686:CONFIG_SCSI_AIC7XXX=m
Daran sollte es also nicht liegen ...
Hast Du nach den ganzen Änderungen an der device.map auch GRUB neu geschrieben? Ich persönlich halte es für keine gute Idee, die device.map zu ändern, sondern würde eher GRUP anpassen, da GRUB sonst IMHO die device.map gar nicht findet ...
 
GRUB beginnt die Zählung der Platten und der Partitionen grundsätzlich bei 0. Die erste Partition auf der ersten Platte ist (hd0,0). Ein Eintrag wie (hd1,2) wäre also die 3.Partition auf der 2.Platte. Die erste Zahl bezeichnet die Platte - die zweite Zahl die Partition. 0 bis 3 sind die vier primären Partitionen - ab Nummer 4 handelt es sich um erweiterte Partitionen. (GRUB macht keinen Unterschied zwischen SCSI und IDE.) Bei der Angabe der Pfade für die Bootkernel und root-Partitionen gilt weiterhin die Linux-Zählweise beginnend bei 1.
altbekannt z.B.: /dev/hda1 (für erste IDE-Platte)
Falls man von einer SCSI-Platte booten will benötigt der Linuxkernel eine initrd-Datei, die Infos über die SCSI-Platte enthält, so etwa:
initrd (hd0,2) /boot/initrd

QUELLE: http://www.linuxer.onlinehome.de/apps/grub.htm
 
Goodspeed1978 schrieb:
Welchen Kernel nutzt Du?

2.4.27 soviel ich weiss, Standard von der 3.1-Install.

Goodspeed1978 schrieb:
Code:
config-2.4.27-2-686:CONFIG_SCSI_AIC7XXX=m
Daran sollte es also nicht liegen ...
Hast Du nach den ganzen Änderungen an der device.map auch GRUB neu geschrieben? Ich persönlich halte es für keine gute Idee, die device.map zu ändern, sondern würde eher GRUP anpassen, da GRUB sonst IMHO die device.map gar nicht findet ...

m steht doch für Modul...

also müsste das Modul nachgeladen werden. Das Modul wie auch die modules.conf, welche das Modul lädt sind jedoch auf der SCSI-Platte.

Standard Suse läuft zumindest und hat den aic7xxx geladen. Ob als Modul oder statisch weiss ich garnicht, werd ich mal schauen.

jaboe's Link hat hier jedoch ein paar Infos, die wahrscheinlich beschreiben was ich auch brauche:
Falls man von einer SCSI-Platte booten will benötigt der Linuxkernel eine initrd-Datei, die Infos über die SCSI-Platte enthält, so etwa:
initrd (hd0,2) /boot/initrd
Weiterhin kann man mit den Befehlen module und modulenounzip weitere Module laden. Leider benutze ich kein SCSI - deshalb kann ich hierzu nichts weiter sagen.

leider ist die initrd und auch module nicht genauer spezifiziert. Werde mir das heute Abend aber mal am lebenden Objekt anschauen.

achso: kann ich den aus dem grub beim Boot alle vorhandenen Platten auflisten lassen? Dann könnte ich ja sehen ob er SCSI kennt oder nicht.
 
In der Regel werden die aic7xxx- bzw. aic79xx-Treiber bei den Standarddistributionen mitgeliefert. Das heisst entweder sind sie fest in den Kernel einkompiliert, stehen also somit ab der Bootseqeuenz zur Verfuegung, oder liegen als Module vor. Sollte dies der Fall sein, kann man davon ausgehen, dass ein benutzbares Initrd-Image auf der Distributions-CD vorliegt und automatisch vom Kernel auf der Boot-CD geladen wird, so dass die Devices automatisch erkannt werden. Ich habe lange kein Debian oder Debian-Derivat mehr installiert, aber wenn ich mich recht erinnere, gibt oder gab es doch im Installer die Moeglichkeit, die entprechenden Module auszuwaehlen, die verwendet werden sollen. Wenn die Treiber fest einkompiliert sind, dann hast Du hoechstwahrscheinlich im Installer irgendwo die Moeglichkeit einen Kernel auszuwaehlen, der die entsprechenden Faehigkeiten und Treiber mitbringt.
Initrd-Images kann man mit mkinitrd erzeugen. Genauere Informationen liefert DIr die Manpage oder das Howto (falls vorhanden).
Ein Howto zu Modulen (und vielen anderen DIngen) findest du auf www.tldp.org .
 

Ähnliche Themen

Keine grafische Oberfläche (Debian Installation)

Bootloader nach update weg

Software-Raid (mdadm) - Festplatte ersetzen

Kein Login möglich

Bootfehler/Neuinstallation Grub auf failed RAID1

Zurück
Oben