Virtualisierungen in FreeBSD

Mit FreeBSD funktioniert aktuell leider nur die Prozessvirtualisierung (Jail und Linux) zuverlässig und stabil (mit Einschränkungen auch Wine). Die beiden schnellsten Emulatoren, die es zur Zeit in den FreeBSD-Ports gibt, sind QEmu und VirtualBox. Früher funktionierte QEmu+Kqemu prima, dann kam KVM und seit dem bin ich mit QEmu unter FreeBSD sehr unzufrieden.

32-Bit-Maschinen können mit dem alten QEmu (bis Version 0.11) auch stabil den Kqemu einsetzen und damit auch in den Genuss der Nativen Virtualisierung kommen.

Die Portierung des Linux-KVM nach FreeBSD steckt noch in einem frühen Entwicklungsstadium.

Wenn es um einen-Windows-Emulator geht, sollte man sich mal emulators/win4bsd ansehen. Ohne Lizenz kann man es (nur) drei Wochen lang testen.

Wie es zur Zeit aussieht, ist VirtualBox unter FreeBSD die Virtualisierungslösung, die am weitesten entwickelt ist. Leider funktionieren bei mir aber nur 32-Bit-Systeme in VirtualBox, mit 64-Bit-Systemen habe ich große Stabilitätsprobleme gehabt.

DOS-Emu

Das Probramm doscmd von BSDI ist im Basissystem von FreeBSD enthalten und sollte in den meisten Fällen ausreichen. Die DOS-Programme werden im real-mode betrieben. DOSCMD kann auch einen PC emulieren und ein richtiges DOS booten um so eine breite Palette an DOS-Programmen betreiben zu können. Im Moment sind die MS-DOS-Versionen 6.2 und höher für DOSCMD etwas problematisch.

DOSCMD ließt nach dem Start eine Konfigurationsdatei ein, als erstes wird die “.doscmdrc“ im aktuellen Verzeichnis gesucht, ist dort keine dann wird im HOME-Verzeichnis gesucht, ist dort auch keine wird die globale Konfigurationsdatei /etc/doscmdrc gelesen.

Boot-Mode

# doscmd -b

mehr Interrupts und X11

# doscmd -bx

Emulations-Mode

# doscmd start.exe

Direktzugriff auf die Tastatur und den Bildschirm:

VGA-Ausgabe ist so möglich

[CTRL]+[ALT]+[DEL] erzeugt ein RESET für DOSCMD

# doscmd -r start.exe

X11

# doscmd -x start.exe

umleiten der Bildschirmausgabe (außer direkte Ausgaben):

# doscmd -c bildschirm.txt start.exe

umleiten der Fehlermeldungen:

# doscmd -d fehler.txt start.exe

die Fehlermeldungen sollen auf die Standardausgabe umgeleitet werden:

# doscmd -O start.exe

Die Konfigurationsdatei ganz kurz

# vi .doscmdrc
boot A:
boot C:
assign lpt0: [direct] path 30
assign A: msdos622.img 80 2 2
assign A: /dev/fd0.1440 1440
assign A: /dev/fd0.720 720
assign C: 127MB_HDD.img 32 [fdisk_tab]
assign D: /usr/dos
assign P: -ro /usr/prb
assign com1: path port irq
portmap port [count]
setver command version
COMSPEC=C:\COMMAND.COM
PATH=C:\
PROMPT=DOS>
DISK TYPES
   +-----------+-----------------+-------------+---------------+------------+
   |  Type     |   Cylinders     |   Heads     |   Sectors     |     Size   |
   +-----------+-----------------+-------------+---------------+------------+
   |    01     |         306     |       4     |        17     |     10MB   |
   |    13     |         306     |       8     |        17     |     20MB   |
   |    07     |         462     |       8     |        17     |     30MB   |
   |    37     |         615     |       8     |        17     |     40MB   |
   |    12     |         855     |       7     |        17     |     49MB   |
   |    04     |         940     |       8     |        17     |     62MB   |
   |    36     |        1024     |       8     |        17     |     68MB   |
   |    31     |        1024     |      11     |        17     |     93MB   |
   |    32     |        1024     |      15     |        17     |    127MB   |
   |    46     |        1224     |      15     |        17     |    152MB   |
   +-----------+-----------------+-------------+---------------+------------+
   |  floppy   |          80     |       2     |         2     |   1440kB   |
   +-----------+-----------------+-------------+---------------+------------+

INSTALLATION VON DOS AUF EINEM PSEUDOLAUFWERK

Um DOS auf einem pseudolaufwerk zu installieren, müssen folgende Schritte durchgeführt werden:

1. vi .doscmdrc
  assign A: /dev/fd0.1440 1440
  assign A: /dev/fd0.720 720
  assign hard boot_drive 80 2 2
2. Legen Sie eine Bootdiskette mit den Kommandos fdisk, format und sys ein.
   Kopieren Sie auch die Kommandos copy und redir.com auf die Diskette.
   Dazu kann man die mtools (mwrite redir.com a:) verwenden.
3. Starte doscmd.
4. Das Kommando "fdisk" am Prompt starten.
5. Wählen Sie "Create DOS partition" oder "Logical Drive" aus.
6. Wählen Sie "Create Primary DOS Partition" aus.
7. Definieren Sie die Wunschgrösse der Partition.
08. Verlassen Sie FDISK durch mehrfaches drücken von .
09. doscmd kann sich unter Umständen ein paar mal beenden, dann muss es
         neu gestartet werden.
10. Geben Sie das Kommando "format c:" am Prompt ein.
11. Geben Sie das Kommando "sys c:" am Prompt ein.
12. Beende doscmd.
13. Entnehmen Sie jetzt die Floppy aus dem Laufwerk oder ergänzen Sie in
         der Konfigurationsdatei ".doscmdrc" die folgende Zeile:
  # boot C:
14. Sie sollten jetzt ein lauffähiges DOS auf Ihrer Pseudodisk haben.
    Jetzt müssen nur noch die beiden Dateien "config.sys" und
    "autoexec.bat" erstellt werden. Das geht unter anderem wie folgt:
> copy con: config.sys
  LASTDRIVE=Z
  ^Z
> copy con: autoexec.bat
  @echo off
  redir.com
  ^Z
15. Quit doscmd.
16. Jetzt haben Sie eine bootfähige Pseudodisk. Um die FreeBSD-Disk mit
    dem redir-Programm automatisch zu erstellen, müssen folgende Zeilen
    in die Konfigurationsdatei ".doscmdrc" eingefühgt werden:
# vi .doscmdrc
  assign D: /usr/dos
  assign P: -ro /usr/prb

QEmu

Hier ist eine Anleitung zu finden: http://wiki.freebsd.org/qemu.

VirtualBox

 
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht:GNU Free Documentation License 1.2
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki