Re: von SCSI booten ?

Datumsansicht Baumansicht Betreffansicht Attachement-Sicht

From: Raphael H. Becker (beckerra_at_rumms.uni-mannheim.de)
Date: 29. Jul 2000


Hallo zusammen,

Juergen Roethig wrote:

> > Da soll SuSE 6.4 drauf, was problemlos geht, wenn man zum Installieren
> > mit der Boot-Floppy startet. Der Adaptec 2940 kann nicht von CD booten.
> >
> > Nach der Installation läuft alles bis nach dem ersten shutdown. Danach
> > mag er nicht über die Platte (/dev/sdc5) booten.
> > Da ist ein OS/2 Bootmanager drauf, der ansonsten funktioniert.
> >
> > Er kommt bis "Loading Linux.......". Dann ist Ende.

Danach kommt nix mehr? D.h. der Kernel wird nicht mehr entpackt und
gebootet?

> > Muß man dem Standard-Pentium Kernel der SuSE 6.4 irgendwie beibringen,
> > daß er das aic78xxx Modul braucht ? Andererseits kommt er doch offenbar
> > an die Partition dran. Da liegt ja der lilo, der die Meldungen
> > produziert.

Nein, LILO wird "fest verdrahtet".

<wilde theorie>
Das läuft ungefähr so: Unter Linux konfigurierst Du lilo mit allen
Angaben zu den zu bootenden Partitionen/Kerneln. Wenn Du danach "lilo"
aufrufst, dann werden diese Dateien in Form von absoluten Werten für
Zylindern/Köpfen/Sektoren in die 2. (??) Stufe von LILO geschrieben.

Beim Booten lädt also das BIOS den MBR und startet die ersten 446 Bytes.
In diesen 446 Bytes befindet sich die erste Stufe von LILO, die nichts
weiter macht, als an der fest vorgesehenen Stelle auf der Platte den
Datenbereich auszulesen, der unter Linux der Datei /boot/boot.b, also
der 2. LILO-Stufe, gehört. Diese Datei wiederum weiß, wo der Kernel
liegt und so weiter. Das alles geht noch nicht über Dateisysteme und
Partitionen, sondern nur per Direktzugriff auf die Festplatte. Dazu
braucht man das BIOS, mehr nicht.
</wilde theorie>

Wenn der Kernel erstmal läuft, dann gehts weiter wie gewohnt.

> > Starte ich mit der Installations Diskette, kann ich das bereits
> > installierte System ohne Schwierigkeiten hochfahren. Zuvor muß ich aber
> > explizit das SCSI Modul laden. Ohne dieses akzeptiert er /dev/sdc5 nicht
> > als root Partition.
>
> Tja, die Antwort auf Deine Frage gibst Du schon fast selbst: Du brauchst
> Zugriff auf die Partition, von der Du bootest! Dazu reicht ein
> Kernel-Modul nicht, denn das Modul kann ja erst dann von der Platte
> gelesen und damit geladen werden, wenn die Partition bereits erreichbar
> ("gemounted") ist, aber gemounted werden kann die Partition erst, wenn
> der Kernel die Partition ansprechen kann ... d.h. die Unterstuetzung
> fuer den aic78xx muss sich direkt im zu bootenden Kernel und nicht als
> Modul befinden!

Stimmt soweit. Das war bisher auch die gängige Lehrmeinung. Allerdings
ist bei SuSE ab 6.3 eine kleine Änderung: Es wird beim Booten zunächst
ein initrd-Image auf /boot/ in

...
-rw-r--r-- 1 root root 512 Jan 14 2000 boot.0800
-rw-r--r-- 1 root root 4568 Nov 9 1999 boot.b
-rw-r--r-- 1 root root 612 Nov 9 1999 chain.b
-rw-r--r-- 1 root root 340046 Jan 14 2000 initrd
...

... die RAM-DIsk gehieft. In diesem RAM-Disk-Image befinden sich dann
auch die Module für SCSI (muss so sein, auf meinem HiwiRechner am RUM,
der unter der 6.3 läuft und nur SCSI hat läufts genau so). Das
initrd-Image wird offenbar (wie sonst?) ebenfalls per LILO in den RAM
geschaufelt, bzw hier hilft das BIOS noch aus.
Hab leider grad kein neueres Handbuch zur Hand, hier sollte dazu aber
was drinstehen.

Ich denke folgender Ausschnitt der Kernelmeldungen sollte das bestätigen
können:

--------------------- [schnipp] ----------------------------
raid5 personality registered
scsi : 0 hosts.
scsi : detected total.
Partition check:
RAMDISK: Compressed image found at block 0
Uncompressing........................done.
EXT2-fs warning: checktime reached, running e2fsck is recommended
VFS: Mounted root (ext2 filesystem).
ncr53c8xx: at PCI bus 0, device 7, function 0
ncr53c8xx: 53c810 detected
ncr53c810-0: rev=0x01, base=0xfc000000, io_port=0xd000, irq=9
ncr53c810-0: ID 7, Fast-10, Parity Checking
ncr53c810-0: restart (scsi reset).
scsi0 : ncr53c8xx - version 3.2a-2
scsi : 1 host.
  Vendor: DEC Model: DSP3107LS Rev: X441
  Type: Direct-Access ANSI SCSI revision: 02
Detected scsi disk sda at scsi0, channel 0, id 0, lun 0
  Vendor: TOSHIBA Model: CD-ROM XM-3401TA Rev: 0283
  Type: CD-ROM ANSI SCSI revision: 02
Detected scsi CD-ROM sr0 at scsi0, channel 0, id 4, lun 0
  Vendor: SEAGATE Model: ST11200N Rev: 9044
  Type: Direct-Access ANSI SCSI revision: 02
Detected scsi disk sdb at scsi0, channel 0, id 6, lun 0
ncr53c810-0-<0,0>: tagged command queue depth set to 8
ncr53c810-0-<4,*>: FAST-5 SCSI 4.0 MB/s (250 ns, offset 8)
Uniform CDROM driver Revision: 2.56
ncr53c810-0-<0,*>: FAST-10 SCSI 10.0 MB/s (100 ns, offset 8)
SCSI device sda: hdwr sector= 512 bytes. Sectors= 2091144 [1021 MB] [1.0
GB]
 sda: sda1 sda2
ncr53c810-0-<6,*>: FAST-10 SCSI 10.0 MB/s (100 ns, offset 8)
SCSI device sdb: hdwr sector= 512 bytes. Sectors= 2051460 [1001 MB] [1.0
GB]
 sdb: sdb1 sdb2
VFS: Mounted root (ext2 filesystem) readonly.
-------------------- [schnapp] ------------------------------
 
> Warum aber kann LILO und der Bootkernel von der SCSI-Platte geladen und
> ausgefuehrt werden? Da hilft (noch) das BIOS, konkret in diesem Fall das
> BIOS des SCSI-Adapters. Wenn aber der Kernel geladen ist, gibt das BIOS
> seine Arbeit an eben diesen ab.

Offenbar wird der Kernel ka nicht gestartet, denn die Ausgabe "Loading
Linux ............." ist noch von LILO.
 
> Lange Rede, kurzer Sinn: Suche Dir auf Deinen SuSE-CDs einen passenden
> Kernel mit aic78xx-Unterstuetzung

Wird er nicht mehr finden. s.o. und s.u.

ftp> pwd
257 "/pub/mirror/ftp.suse.com/pub/suse/i386/6.4/disks" is current
directory.
ftp> dir
200 PORT command successful.
150 Opening ASCII mode data connection for file list.
-rw-r--r-- 2 root root 735 Oct 29 1999 LIESMICH
-rw-r--r-- 2 root root 753 Oct 29 1999 LIESMICH.DOS
-rw-r--r-- 2 root root 1281 Oct 29 1999 README
-rw-r--r-- 2 root root 1314 Oct 29 1999 README.DOS
-r--r--r-- 2 root root 1474560 May 8 07:56 bootdisk
-r--r--r-- 2 root root 1474560 May 8 07:56 eide
-r--r--r-- 2 root root 1474560 May 8 07:59 laptop
-r--r--r-- 2 root root 1474560 May 8 07:56 modules
-rw-r--r-- 2 root root 1473956 Jul 22 1999 rescue
-r--r--r-- 2 root root 1474560 May 8 07:58 yast2
226 Transfer complete.
ftp>

 ..... jaja, ich weiß ... das hab ich wieder recht unsauber recherchiert
und auch keine Doku gelesen. Aber mir reicht in dem Fall was ich gesehen
habe, nämlich die Sache mit dem initrd und der Tatsache, daß ...

rumkratz:~ # lsmod
Module Size Used by
smc-ultra 4196 1 (autoclean)
8390 6228 0 (autoclean) [smc-ultra]
serial 42932 1 (autoclean)
memstat 1604 0 (unused)
ncr53c8xx 50932 4
^^^^^^^^^

... ist.

Was aber nun genau das Problem von Andreas' PC ist, weiß ich nicht.
Wilde Vermutungen tendieren in Richtung "lilo nicht gestartet" bis hin
zu "zu hohe Zylindergrenze", wobei dieses bei recht neuen Versionen von
LILO auch nicht mehr ausschlaggebend sein sollte.

Gruß
Raphael Becker, der sich überlegt, die mail abzuschicken.


Datumsansicht Baumansicht Betreffansicht Attachement-Sicht

Dieses Archiv wurde generiert von hypermail 2.1.2 : 11. Mar 2002 CET