dmg für einen x86 Emulator bootfähig machen

Scorpion

Scorpion

Aktives Mitglied
Thread Starter
Dabei seit
03.02.2005
Beiträge
106
Reaktionspunkte
0
Hallo,

Ich habe hier NASM, einen x86-Assembler, mit Hilfe des Sources zum Laufen bekommen. Jetzt bin ich schon seit längerer Zeit drauf und dran ein kleines OS zu schreiben - für x86. Ich habe hier aber zur Zeit keinen x86 rumstehen, daher wollte ich versuchen, das OS mit Virtual PC 6 von Connectix zu testen.

Mit NASM habe ich nun eine bin-Datei erstellt. Für VPC brauche ich aber irgend ein Image z.B. ein dmg.

So und jetzt zur eigentlichen Frage, kann ich dieses Image irgendwie für VPC bootfähig bekommen?

Auf einer Seite habe ich gelesen, dass man bei Linux den Befehl "dd if=bootsec.bin of=/dev/hda bs=512 count=1" benutzen kann. Das ganze habe ich mal so geändert, dass sich das auf das geöffnete Image bezieht und es klappt auch. Wenn ich jetzt aber das Image öffnen möchte, kommt ein Fehler, es sei kein aktivierbares Dateisystem vorhanden. Für VPC muss ich das Image aber aktivieren können, ansonsten kann VPC damit auch nicht viel anfangen :D

Gibts da vielleicht eine andere Möglichkeit oder hat so ein Image gar keinen Bootsektor?


Scorpion

PS: Wenn ich die bin-Datei einfach so draufschiebe, geht es natürlich nicht, da sie nicht im Bootsektor steht.
 
Zuletzt bearbeitet:
Anstatt Virtual PC empfiehlt es sich hier wohl es mal mit qemu zu versuchen.
 
Hallo,

danke für die schnelle Antwort, aber das hat leider nix genützt.

Wenn ich direkt die bin-Datei zum booten wählen, kommt bei Qemu nur Fatatl Error, weil das kein Image ist, sondern direkt der Bootsektor.

Kopiere ich wie oben beschrieben mit dd wieder den Bootsektor auf eine dmg und starte dann den PC in Qemu, blinkt die Box nur kurz auf und verschwindet wieder.

Das Gleiche passiert, wenn ich die bin einfach so auf das Image lege.


Scorpion
 
Hallo nochmal,

habe mich jetzt nochmal umgesehen und bin (mal wieder) auf Bochs gestoßen.
Denn wie man hier lesen kann, kann Bochs direkt von der .bin booten:
" Copy the file into Bochs' directory and run it with the booting.bin as a floppy and we're done!" (s. http://www.osdever.net/tutorials/brunmar/tutorial_01.php?the_id=8 ).

Also hab ich mir Bochs runtergeladen. Zuerst hab ich es mit der Version für 10.2 versucht, das ist die Bochs-Version 2.1.1. Aber nachdem ich die bochsrc von dem obigen Link geladen habe und entsprechend meinen Wünschen geändert habe, habe ich sie in den Bochs-Ordner kopiert und bochs gestartet. Aber Bochs "blinkt" nur kurz auf und verschwindet wieder ohne einen Fehler. An der bochsrc kann es aber nicht liegen, da er, wie in der Datei geschrieben, eine log.txt anlegt, diese ist aber leer.

Naja, also habe ich mir danach den source geladen von der Version 2.2.1 und installiert. Unter Tiger hat das Installieren schon gar nicht erst geklappt, aber unter 10.3.9 ging es dann. So, hier auch wieder die bochsrc eingefügt und im Terminal auf diese Datei verwiesen. Dann habe ich Bochs gestartet und es kam zumindest schon einmal eine Oberfläche, danach aber einige Fehlermeldungen, bis ich dann schließlich ganz beenden sollte, da immer wieder der gleiche Fehler kam. Das gleiche passiert auch, wenn ich einfach die Standardeinstellungen verwende.

Hier die einzelnen Fehler:
Bei den ersten Fehlern habe ich einfach auf "Continue" geklickt.

1.) ata0-0: could not open hard drive image file 30m.sample


2.) Unknown display extension: vbe

Und jetzt kommt folgender Fehler, der nach jedem "Continue" klicken weder erscheint.

3.) prefetch: RIP > CS.limit



Hat vielleicht irgendeiner eine Idee, wie ich Bochs zum Laufen bekommen?


Scorpion
 
Zuletzt bearbeitet von einem Moderator:
Zurück
Oben Unten