Einsatz von Bochs



  • Hi,

    mittlerweile bekomme ich den Pretty-OS-Sourcecode auch zum Laufen. Allerdings nur auf "realen" PCs, nicht mit Bochs.
    Ein Diskettenlaufwerk habe ich nicht und ich arbeite unter Windows.

    Weiß jemand, wie/ob Bochs-Einsatz ohne Diskette (noch) geht?

    Und noch etwas: Ich nutze zur Zeit das Tool "BootDisk2BootStick", um den Floppy-Header auf meinen USB-Stick zu kopieren. Leider ist das ein GUI-Tool und nicht automatisierbar. Kennt jemand dafür etwas Command-Line mäßiges?



  • Du kannst ein Diskettenimage genauso wie ein reales Diskettenlaufwerk einbinden.

    Dazu einfach in der bochs.bxrc einfach den 1_44-Eintrag in der floppya-Zeile auf den Pfad zum Image setzen. Zum Beispiel wenn dein Diskettenimage "disk.img" heißt, und im selben Verzeichnis wie die bochs.bxrc liegt:

    floppya: 1_44="disk.img", status=inserted
    

  • Mod

    Floppy-Image:
    http://www.henkessoft.de/OS_Dev/Downloads/PrettyOS_110_floppy_image.zip 🙂

    Mit qemu geht das auch, hier mal am Beispiel von tyndur:
    ...\qemu-system-x86_64.exe -fda tyndur-0.2.1-gothmog-floppy.img -boot a


  • Mod

    Mit BootDiskToBootStick kann man seinen USB-Stick Bootfähig machen.
    Als Quelle dient dabei eine Boot-Diskette oder das Binäre Image einer Boot-Diskette
    So kann man endlich völlig auf sein altes Diskettenlaufwerk verzichten!

    Das klingt gut!


  • Mod

    mittlerweile bekomme ich den Pretty-OS-Sourcecode auch zum Laufen. Allerdings nur auf "realen" PCs

    Kannst Du das mal ganz genau schildern, wäre nämlich interessant für fricky, damit er seine Hardware (er hat da diese spezielle USB EHCI Device) mit unserem neuen PCI Scan testen kann.



  • Lüttmoor schrieb:

    Du kannst ein Diskettenimage genauso wie ein reales Diskettenlaufwerk einbinden.

    Ja, aber leider habe ich kein Diskettenimage. Es wird bei PrettyOS im "First Stage Bootloader" der erste Sektor der Diskette erstellt, welcher den Bootloader und den Dateisystem (FAT-12) Header enthält. Der wird "roh" auf die Diskette kopiert, womit die Diskette dann ein FAT-12-Dateisystem hat, darauf wird dann mit dem "normalen" Datei-Kopieren noch die Datei für den Second-Stage-Bootloader und der richtige Kernel-Code kopiert.

    Mit dem "BootDisk2BootStick" kann ich den ersten Sektor auch auf meinen Memory-Stick kopieren (er wird dann zu einem 1.44 MB, FAT-12 Dateisystem), dann wieder "normal" die beiden Dateien dazu. Das klappt und PrettyOS bootet auch, wenn ich meinen Laptop mit dem USB-Stick hochfahre.

    Mir fehlt praktisch die Möglichkeit, ein Disketten-Image zu erstellen, am Besten direkt im Build-Vorgang integriert. Entweder, dass die Image-Datei "on the fly" generiert wird oder dass nach dem menuellen "Füllen" des USB-Sticks ein Image des USB-Sticks erstellt wird. Habe zu beidem nichts passendes gefunden und gestern Abend noch angefangen, mir ersteres Tool selbst zu schreiben, FAT-12 ist ja zum Glück nicht allzu komplizert. Es klappt auch halbwegs, das Image wird erstellt, ich kopiere es mit BootDisk2BootStick auf den Stick und der Windows-Explorer erkennt das Dateisystem und die Dateien; er kann die Dateien aber nicht öffnen oder kopieren, also ist da noch was falsch.

    Erhard Henkes schrieb:

    Floppy-Image:
    http://www.henkessoft.de/OS_Dev/Downloads/PrettyOS_110_floppy_image.zip 🙂

    Ok, danke. Allerdings will ich ja auch bei eigenen Modifikationen am Source den Code in Bochs starten.

    Erhard Henkes schrieb:

    Kannst Du das mal ganz genau schildern, wäre nämlich interessant für fricky, damit er seine Hardware (er hat da diese spezielle USB EHCI Device) mit unserem neuen PCI Scan testen kann.

    Das ist einfach nur ein normaler Laptop, aber ich kann da gerne alle möglichen USB-Geschichten testen 🙂



  • Oh, noch etwas: Wie oben geschrieben klappt mein Image-Erstellungs-Tool noch nicht ganz. Könnte mir jemand zum Vergleich ein Image einer (FAT12-) Diskette anfertigen, auf der genau eine Datei gespeichert ist, die zwischen 520 und 1000 Bytes groß ist? Das Image dann am Besten hier hochladen und den Link hier posten, das wäre super! Per Mail ginge aber auch.



  • Die ersten 512 Bytes von 110 sind schon ein "korrektes" Diskettenimage. Das Problem sind aber die Tools zum Kopieren.

    Wenn ein USB-Stick formatiert ist, hat er einen Master Boot Record (MBR) und eine Partition. Die Tools schreiben das Image meistens in den Sektor 0 der Partition. Da darf es aber nicht hin.

    Ein Diskettenimage muß in den MBR des USB-Sticks. Sonst kann Windows (bzw. jedes OS) auf das Image (und auf die FAT12) nicht korrekt zugreifen.



  • +gjm+ schrieb:

    Ein Diskettenimage muß in den MBR des USB-Sticks. Sonst kann Windows (bzw. jedes OS) auf das Image (und auf die FAT12) nicht korrekt zugreifen.

    Genau, das klappt aber auch 🙂 Mein Tool erzeugt das komplette Abbild (also samt MBR) und das Tool BootDisk2BootStick kopiert es "roh" auf den Stick, so dass er "bootable" ist, mit dem korrekten MBR in den ersten 512 Bytes.
    Mein Tool baut halt nur irgendwo in den FAT- oder Rootdirectory- Block einen Fehler ein.



  • Das OS muß die Änderungen auch mitkriegen. Probier mal nach dem Kopieren den USB-Stick einfach rausnehmen und wieder reinsetzen.



  • Badestrand schrieb:

    Mir fehlt praktisch die Möglichkeit, ein Disketten-Image zu erstellen

    Eine leere 1,44-MB-Datei mit dem Bootsektor zu erstellen sollte ja nicht zu schwer sein. Fehlt dir also das da? http://lowlevel.brainsware.org/wiki/index.php/Virtual_Floppy_Drive



  • +gjim+ schrieb:

    Das OS muß die Änderungen auch mitkriegen. Probier mal nach dem Kopieren den USB-Stick einfach rausnehmen und wieder reinsetzen.

    Daran liegt es leider auch nicht, ich hab wohl wirklich irgendwo einen Bug eingebaut. Das Tool BootDisk2BootStick funktioniert auch, am Anfang von PrettyOS wurden ja noch Disk-Images erstellt, damit hatte ich die draufgeschoben, hatte geklappt. Nur das Tool, was ich gestern Abend geschrieben hab und eine Image-Datei erstellen soll, hat wohl noch einen Fehler.. 😞



  • taljeth schrieb:

    Eine leere 1,44-MB-Datei mit dem Bootsektor zu erstellen sollte ja nicht zu schwer sein. Fehlt dir also das da? http://lowlevel.brainsware.org/wiki/index.php/Virtual_Floppy_Drive

    Die leere Datei ist in der Tat kein Problem 😉 Nur sollen ja auch noch "normale" Dateien in das Image rein. Das Ding aus deinem Link sieht aber gut aus, probiere ich heute Abend mal aus, danke dafür!


Log in to reply