Festplatten-Treiber sicher testen



  • Nachdem mein Festplatten-Treiber demnaechst integriert werden soll, hier eine Anleitung, wie man auf diviseren Emulatoren den HDD-Treiber gefahrlos testet.

    Bochs
    Unter Bochs empfiehlt sich die Verwendung des "Bochs Image Creation Tool". Unter Windows ist es unter diesem Namen im Startmenue aufrufbar, auf anderen Systemen ist es ueber den Installations-Ordner von Bochs erreichbar.
    Auch wenn das Tool mehr oder weniger selbstklaerend ist hier eine Schritt-fuer-Schritt-Anleitung:

    1. Wenn wir nach dem Disk-Type gefragt werden uebernehmen wir einfach die Voreinstellung hd
    2. Als Image-Type empfehle ich persoenlich flat , was auch die Voreinstellung ist. Es verbraucht zwar mehr Speicherplatz, aber weil es keinerlei Datei-Header oder irgendwelche Zusatzdaten enthaelt kann man so bequem mit einem Hex-Editor pruefen, ob alles Korrekt geschrieben ist und notfalls sogar das Image manuell bearbeiten.
    3. Bei der Disk-Groesse soll jeder selbst entscheiden, was er braucht. Prinzipiell finde ich 1 MB voellig ausreichend fuer die Test-Zwecke.
    4. Der Name ist natuerlich frei waehlbar, allerdings wuerde ich den absoluten Pfad, wo dauch die bxrc-Datei liegt, mit angeben.
    5. Ob man die vorgegebene Zeile dierekt in die bxrc-Datei kopiert oder die Werte in der Ata-Channel-Konfiguration in Bochs eingibt ist Geschmackssache.

    In jedem Fall ist darauf zu achten nur die Standard-ATA-Ports (und, auch wenn momentan noch ungenutzt, die IRQs) zu nutzen, da der Treiber nur auf dieser Standard-Konfiguration funktioniert.

    Quemu
    [WIP]

    Virtual Box

    1. Auf den PC, dann auf "Aendern" klicken und zu "Massenspeicher" navigieren
    2. Hier einen IDE-Controller, sofern noch nicht vorhanden, hinzufuegen. Ein SATA-Controller muesste theoretisch auch gehen, da SATA-Devices der kompatiblitaet halber auch PATA-Kommandos ausfuehren koennen; getestet habe ich das aber noch nicht.
    3. Dann auf "Festplatte hinzufuegen" (das Symbol mit dem Plus, wo mehrere Discs gestapelt sind) klicken
    4. "Neue Platte erzeugen" waehlen
    5. Die Voreinstellung "VDI" behalten. Meines Wissens nach enthalten alle angegebenen Formate Meta-Daten, die sie schlecht mit einem Hex-Editor bearbeitbar machen, weshalb man einfach das VBox-Eigene Format belassen sollte.
    6. Ob man eine feste oder dynamische Groesse waehlt spielt bei Festplatten unserer Groesse keine Rolle. Ich wuerde aus Gewohnheit eine feste Groesse benutzen, aber das bleibt euch ueberlassen.
    7. Als Groesse duerften auch hier 5 MB mehr als ausreichen, der Name ist wieder egal
    8. Zuletzt waehlen wir "Erzeugen". Nach Abschluss sollte die Festplatte eingehangen sein.

    Reale Hardware
    Der Treiber ist noch im experimentellem Stadium, frei nach dem Motto "It compiles and runs; no guarantuees." Ihn auf realer Hardware einzusetzen ist aktive Sterbehilfe fuer die Daten auf der Platte, weshalb dieser Treiber NIE auf realer Hardware laufen sollte; zumindest momentan noch nicht.
    Sollten die anderen Module von PrettyOS dennoch eines Tests auf Realhardware beduerfen, so ist darauf zu auchten, dass #define _ENABLE_HDD_ in os.h auskommentiert ist, was per Default der Fall ist, und PrettyOS sollte vorher nochmal komplett neu erstellt werden.

    :xmas1:


Anmelden zum Antworten