linux-l: Booten von Tape

Thomas Knop t.knop at isv-gmbh.de
Fr Mai 12 13:06:37 CEST 2000


On, Fre, 12 Mai 2000, Siegfried Pohl wrote:
> Meines Wissens laeuft der BootVorgang auf einem Computer so ab: 
> Betrachte den Fall, dass ein Kernel Image raw mit dd auf einen
> Datentraeger geschrieben wurde, zum Beispiel auf Diskette. Man lasse
> also den Fall des Einsatzes eines Bootloaders (lilo etc) der Einfachheit
> halber ausser Betracht.
> 
> Das Bios hat den Auftrag von Diskette zu booten, dann werden beginnend ab 
> dem physikalischen Anfang der Diskette, also Spur 0 Sektor 0 ..., die
Spur 0, Sektor 1
> dort vorhandenen Daten in den Arbeitspeicher kopiert bis zum Auffinden
> eines Dateiende Zeichens, also EOF. Anschliessend wird die erste
Nein, es werden 512 Bytes copiert, im Real-Mode an eine feste
Speicheraddress innerhalb des ersten MB. Dann wird dieser Code ausgeführt. 
In der Regel läd dieser dann erstmal eine weiteren Loader, der  dann erst
das OS läd. Daher kommen auch die häufigen  Beschränkungen, da man bei 512
Bytes noch vollkommen auf das BIOS angewiesen ist. Dazu gibts INT 13, der
im normalen BIOS nur  Floppy, evt. CDROM und IDE unterstützt. Das auf einem
Controller enthaltene SCSI BIOS erweiter dies dann um die Funktionalitäten
SCSI HD / CDROM.
 
> 1) Es kann daher nicht so schwierig sein, die Faehigkeit des Bootens von 
> Tape zu implementieren. Oder taeusche ich mich?
Schwierig ist alles nur bei den völlig "kranken" Intel Systemen, da diese
auch heute noch voll kompatibel mit dem 8086 sind (wahrscheinlich damit
WinDoof überhaupt booten kann, ist schließlich nur ein GUI für das gute
alte DOS :-).
Nur mal so als Überlegung: Ein PC-Bios ist i.d.R. 64-128K groß
mein Archimedis (1992) hatte schon ein 2MB BIOS. Soviel kann eine
Intel-Maschine im Realmode (also beim booten) noch gar nicht ansprechen.
Was will man also erwarten? Wahrscheinlich sind PC-BIOSe noch die
einzigen, die in Assembler geschrieben werden (und das nicht aus
Geschwindigkeitsgründen ;-)   

Thomas

-- 
Thomas Knop               Tel: +49-30-53433408
ISV GmbH Berlin           Fax: +49-30-53433435
Am Treptower Park 75        t.knop at isv-gmbh.de
12435 Berlin            http://www.isv-gmbh.de



Mehr Informationen über die Mailingliste linux-l