QEMU unter DOS, HX DOS Extender FreeDOS
(Link zu dieser Seite als [[QEMU-KVM-Buch/ QEMU unter DOS]])
Inhaltsverzeichnis |
[bearbeiten] QEMU unter DOS
QEMU kann unter DOS mit dem HX DOS Extender betrieben werden. Der HX DOS Extender (http://www.japheth.de/HX.html) ermöglicht einige für Microsoft Windows geschriebene 32-Bit-Programme unter DOS auszuführen. Der HX DOS Extender ist frei verfügbar, unterliegt aber keiner spezifischen Softwarelizenz. Bedingt durch die begrenzten Möglichkeiten von DOS gibt es viele Einschränkungen für QEMU. Weder DOS noch der HX DOS Extender unterstützen Auslagerungsdateien. Damit ist der virtuelle Speicher maximal so groß wie der physische Speicher. Wenn zum Beispiel ein Gast-System 128 MByte RAM benötigt, so muss das Host-System mindestens über 170 MByte RAM verfügen. Die Ausführungsgeschwindigkeit von QEMU ist unter DOS aus mehreren Gründen nicht hoch. Zum einen wird der Beschleuniger KQEMU nicht unterstützt, zum anderen steht keine Grafik-Beschleunigung zur Verfügung. Dazu kommt, das DOS meist auf müder Hardware betrieben wird. Mit QEMU unter DOS lassen sich daher nur Gast-Systeme mit sehr geringen Ressourcen-Bedarf betreiben. Da DOS nicht Multitasking unterstützt, lässt sich nur eine QEMU-Instanz starten. Viele Optionen von QEMU (http://qemu-buch.de/d/Anhang/_Startoptionen_von_QEMU_und_KVM) stehen nicht oder nur eingeschränkt zur Verfügung. DOS ist sicherlich kein ideales Host-System für QEMU. Was soll man aber zum Beispiel mit einem geschenkten alten Laptop mit knapp 300 MByte RAM anstellen? ;-)
Für diese Beispiele wurde FreeDOS 1.0 (http://www.freedos.org/freedos/files/) installiert. Der HX DOS Extender läuft aber auch auf anderen DOS-Versionen, wie zum Beispiel DR-DOS 7.03 (http://www.drdos.net/download.htm). Beschreibungen zur Installation von FreeDOS und DR-DOS findet man unter http://qemu-buch.de/d/Gast-Systeme/_x86-Architektur/_DOS-%2C_Windows_und_Verwandte. Die Unterstützung für lange Dateinamen (DOSLFN) muss aktiviert sein. Bei FreeDOS 1.0 wird DOSLFN per autoexec.bat geladen.
C:\> lh doslfn
Der in FreeDOS 1.0 enthaltene HX DOS Extender ist nicht aktuell. Deshalb sind die neuesten Version der ZIP-Archive HXRT und HXGUI von der URL http://www.japheth.de/HX.html herunterzuladen. Beide Archive werden unter C:\hx entpackt. Weiterhin ist die Datei msvcrt.dll von http://www.dll-files.com herunterzuladen und unter C:\hx\bin zu speichern. In der Datei autoexec.bat wird die PATH-Variable mit dem Pfad C:\hx\bin ergänzt.
set PATH=c:\hx\bin;%PATH%
[bearbeiten] QEMU 0.9.1
Download: http://qemu-buch.de/download/qemu-0.9.1-windows.zip
Laut der Kompatibilitätsliste (http://www.japheth.de/HX/COMPAT.TXT) lässt sich QEMU nur bis Version 0.9.1 mit dem HX DOS Extender betreiben. Dies ist kein großer Nachteil, da viele QEMU-Optionen sowieso nicht unter DOS angewendet werden können. Das ZIP-Archiv mit der Windows-Version von QEMU ist herunterzuladen und unter C:\qemu zu entpacken. Anschließend ist in das Verzeichnis qemu zu wechseln. Um QEMU zu starten ist jeweils dpmild32 vor dem Befehl qemu anzugeben. Die Optionen von QEMU kann man sich mit folgenden Befehl auflisten lassen.
C:\> dpmild32 qemu --help
Um die Anzeige seitenweise blättern zu können, ist folgender Befehl anzuwenden.
C:\> dpmild32 qemu --help | more
Da QEMU für den Start ein grafische Ausgabe benötigt, ist dpmild32 mit der Option -g zu ergänzen. Im ZIP-Archiv von QEMU ist das Image linux.img mit einem minimalen Linux-System enthalten. Das Gast-System auf diesem Image wird mit der folgenden QEMU-Optionen gestartet. Die Option -L verweist auf das Verzeichnis mit der Bios-Datei. Da der Beschleuniger KQEMU nicht unter DOS zur Verfügung steht, ist dessen Verwendung mit -no-kqemu zu deaktivieren. Mit -no-reboot wird verhindert, dass die Instanz nach dem Herunterfahren des Gast-Systems wieder neu startet. Als Grafik-Karte wird VGA emuliert (-std-vga). Die Option -hda definiert das Image als virtuelle Festplatte. Mit -m wird der Arbeitsspeicher für die virtuelle Maschine in MByte definiert.
C:\> cd qemu C:\> dpmild32 -g qemu -L . -no-kqemu -no-reboot -std-vga -hda -m 8 linux.img
Mit exit wird das minimale Linux beendet.
Gast ~# exit
Damit man nicht immer die vielen Optionen eintippen muss, kann man eine Batch-Datei mit dem Namen Q.BAT und folgenden Inhalt anlegen. Der Wert hinter -m ist experimentell zu ermitteln und kann etwa 3/4 des Arbeitsspeichers des Host-Systems betragen. Unter FreeDOS kann das Programm mem bei der Ermittlung des freien Speichers helfen.
set QEMU=C:\QEMU dpmild32 -g %QEMU%\qemu -L %QEMU% -no-kqemu -no-reboot -std-vga -m 8 %1 %2 %3 %4 %5 %6 %7 %8 %9
Der Aufruf verkürzt sich dann.
C:\> q -hda linux.img
Bei der Verwendung nur eines Images braucht -hda nicht angegeben werden.
C:\> q linux.img
Zum QEMU-Paket gehört auch das leistungsfähige Tool qemu-img. Es dient zum Anlegen, Konvertieren und Verschlüsseln von Image-Dateien (virtuellen Festplatten) in unterschiedlichen Formaten (siehe http://qemu-buch.de/d/Anhang/_qemu-img). Um qemu-img aufzurufen zu starten ist dpmild32 (ohne -g) vor dem Befehl anzugeben. Ohne Optionen zeigt qemu-img eine Hilfestellung an.
C:\> dpmild32 qemu-img
Damit man nicht immer die vielen Optionen eintippen muss, kann man eine Batch-Datei mit dem Namen Q-IMG.BAT und folgenden Inhalt anlegen.
set QEMU=C:\QEMU dpmild32 %QEMU%\qemu-img %1 %2 %3 %4 %5 %6 %7 %8 %9
Mit qemu-img kann man sich Informationen über ein Image anzeigen lassen. Dazu dient die Option info.
C:\> q-img info linux.img image: linux.img file format: raw virtual size: 10M (10485760 bytes) disk size: 10M
[bearbeiten] Weiteres
Zur Manipulation der laufenden virtuellen Maschine dient der QEMU-Monitor (siehe http://qemu-buch.de/d/Der_QEMU-Monitor). Mit der Tastenkombination [Strg]+[Alt]+[2] gelangt man in den QEMU-Monitor, mit [Strg]+[Alt]+[1] wieder zurück. Das Anlegen von virtuellen Maschinen werden unter der URL http://qemu-buch.de/d/Gast-Systeme beschrieben. Einige nützliche Tools für die Arbeit mit QEMU werden im Anhang erläutert (siehe http://qemu-buch.de/d/Anhang/_Nützliche_Tools). Dieser kurze Überblick dient auch dazu, sich bei weniger bekannten Gast-Systemen zurechtzufinden.
[bearbeiten] Links
- http://www.unet.univie.ac.at/~a0503736/php/drdoswiki/index.php?n=Main.HX-DOS
- http://wiki.fdos.org/Main/DOSExtender
- http://www.heise.de/software/download/doslfn/13175
- http://de.wikibooks.org/wiki/FreeDOS-Kompendium
- http://www.bootablecd.de/FreeDOS/help/de/
- http://sourceforge.net/apps/mediawiki/freedos/index.php?title=Networking_FreeDOS
- http://stacktrace.org/index_html/QEMUMenu20041121/QEMUMenu.bat
- http://www.dosbox.com/wiki/Main_Page