Lowlevel
Lowlevel => OS-Design => Thema gestartet von: SHyx0rmZ am 06. May 2009, 16:02
-
Da ich immer noch der Meinung bin, dass sich ein eigener Bootloader für mein OS besser eignet, muss ich euch leider noch mal nerven ^^
Ich habe noch ein Verständnisproblem beim Bootvorgang. Von Floppy booten ist ja kein Problem. Wenn das System von CD bootet, werden ja entweder eine Floppy oder eine Festplatte emuliert. Wie kann man jetzt genau bestimmen, an welcher Stelle auf dem Medium (CD, HDD) der "zweite" Sektor liegt, sprich der Sektor nach dem Bootloader?
Man könnte natürlich bei der HDD versuchen, Infos aus der Partitionstabelle zu bekommen. War es nicht bei der Floppy-Emu der CD nicht so, dass der Bootloader denkt, er wäre im ersten Sektor? Gibt es da irgendwelche Tricks?
Grub scheint ja auch einfach stur den zweiten Sektor zu laden.
-
Wenn das System von CD bootet, werden ja entweder eine Floppy oder eine Festplatte emuliert. Wie kann man jetzt genau bestimmen, an welcher Stelle auf dem Medium (CD, HDD) der "zweite" Sektor liegt, sprich der Sektor nach dem Bootloader?
Die Frage macht m.E. keinen Sinn, da ja eben eine 1,44 (oä.) Floppy emuliert wird (das komplette Floppyimage ist eine normale Datei auf der CD, also ein ISO9660 Dateisystemeintrag) und man eben nur Zugriff auf dieses Image (wobei es eben mit der normalen Sektoradressierung einer Floppy adressiert wird) Zugriff hat und überhaupt nicht auf die CD-ROM selbst.
Das BIOS übernimmt dabei für den Bootloader (durch den Int13) die Umrechnung von der Floppyadressierung in einen Zugriff auf die CD-ROM, aber das läuft komplett unsichtbar für den Bootloader ab.
War es nicht bei der Floppy-Emu der CD nicht so, dass der Bootloader denkt, er wäre im ersten Sektor?
Er ist im ersten Sektor, siehe oben.
Die El-Torito Spezifikation (http://www.phoenix.com/NR/rdonlyres/98D3219C-9CC9-4DF5-B496-A286D893E36A/0/specscdrom.pdf) (Kapitel 6) bietet aber Möglichkeiten den Bootkatalog etc. auszulesen, falls dass das ist was du möchtest.
-
Ok, das mit der CD habe ich soweit verstanden. Mein Problem liegt jetzt nur noch bei der HDD.
Geht es da nur mit dem Auslesen der Partitionstabelle, oder wird das Offset ebenso emuliert?
-
Eine HDD wird m.E. genauso emuliert wie eine Floppy. Ob du deine HDD mit einer Partitionstabelle (d.h. im Endeffekt mit einem MBR) ausstattest musst du selbst entscheiden. Falls du das tust, muss dein Master-Boot-Sektor sich eben genauso verhalten wie auf einer Festplatte, aktive Partition bestimmen und da den Bootsektor ausführen. Im anderen Fall eben wie ein normaler Bootsektor auf einer Festplatte...
Aber kA ob ich jetzt deine Frage überhaupt richtig verstanden habe...
-
Ich glaub er meints so! Dein Bootloader muss hallt nur El-Torito FS unterstützen, es gibt ja auch nen eintrag in der Wiki glaube ich! Das ist eine interresante Leetspeak-konstellation in deinem Username SHyx0rmZ.
-
Ich glaub er meints so! Dein Bootloader muss hallt nur El-Torito FS unterstützen, es gibt ja auch nen eintrag in der Wiki glaube ich!
El Torito ist kein FS. Was für ein Dateisystem man auf das Floppy- oder Plattenimage draufpackt, bleibt einem selbst überlassen. Solange man nur die BIOS-Funktionen benutzt, sieht das ganze aus wie eine echte Diskette bzw. Festplatte. Der Bootloader braucht insofern nichts CD-ROM-spezifisches zu machen.
Das ist eine interresante Leetspeak-konstellation in deinem Username SHyx0rmZ.
Ich habe ja die Vermutung, er hat nur die Felder für Benutzername und Paßwort verwechselt. :-D
-
Ja so scheint mir auch, wobei eine abwandlung von h4x0r enthalten und zwar hyx0r. Ich meine mich aber noch daran zu erinnern, dass y kein Synonym von dem Buchstaben a ist. Na ja was solls :-D! Dachte immer El-Torto ist ein FS für CD-Roms.
-
Ok, danke für eure Antworten, die HDD hatte mir ein wenig Sorgen gemacht. Wenn ich aber nur Floppy beachten muss gehts ja einigermaßen, Rest kommt dann ja eh in den Kernel ;)
Und nein, ich habe nicht Passwort und Username verwechselt :D Hat auch keine versteckte Bedeutung, hab nur ein paar meiner Lieblingsbuchstaben aneinander gereiht ;) (Aussprache: Schückssohrms)
Fleißiges OS-Deven euch noch, ich mach dann auch mal bald weiter :P
-
Da ich immer noch der Meinung bin, dass sich ein eigener Bootloader für mein OS besser eignet, muss ich euch leider noch mal nerven ^^
Falls Du das immer noch willst, hier gibt es Ansätze:
http://www.brokenthorn.com/Resources/OSDev6.html
http://www.brokenthorn.com/Resources/OSDev20.html
http://www.henkessoft.de/OS_Dev/OS_Dev3.htm#mozTocId882541
http://www.henkessoft.de/OS_Dev/OS_Dev3.htm#mozTocId584885
Mit GRUB ist das Leben aber eindeutig "leichter", hängt von deinen Zielen ab.
-
Vielen Dank für diese Links, die werde ich bestimmt noch gebrauchen können ;)
-
CD-Roms, DVD-Roms, BD-Roms...
Floppy fdS *g*
-
CD-Roms, DVD-Roms, BD-Roms...
Floppy fdS *g*
fds == fick dich selber ( http://www.fmenge.homepage.t-online.de/chat.htm ) :x
@Hartmut: Ich werde Dich ab jetzt komplett ignorieren!
-
Die Seite hat keine Ahnung.
"fdS" = "für den Sieg" (deswegen auch das große S)
-
in Anlehnung an ftw (= for the win)
-
o.O
@ehenkes: Ungeachtet dessen, dass ich dich niemal beleidigen würde, und fdS (Danke für die Klarstellung an taljeth und bluecode) anstelle von dem mir unbekannten "fd_s_" geschrieben hab...
"Floppy fick dich selber" macht irgendwie keinen Sinn, oder?
Hoffe, der Dauer-Ignore-State ist damit behoben und du verstehst nun, was ich mit "Floppy für den Sieg" meine ;)
-
Sorry für die Falsch-Interpretation. "Dauer-Ignore-State" zurück gezogen. :-)