Open Source im professionellen Einsatz
Linux-Magazin 02/2003

Der PC-Emulator Bochs

Weiche Hardware

Die Open-Source-Gemeinde hat selbst für komplexe Office-Suiten freie Alternativen entwickelt, doch mit einem PC-Emulator tut sie sich immer noch schwer. Das Bochs-Projekt ist zumindest für Tests interessant, trotz schwacher Performance.

634

Bochs (gesprochen wie Box) ist ein schon 1994 begonnenes Projekt, das die Emulation eines portablen x86-Emulators zum Ziel hat[1]. Portabel heißt in diesem Fall: nicht nur unter Linux und nicht nur auf Intel-Plattformen. Dafür ist der Code auch vollständig in C++ implementiert. Bochs läuft also auf verschiedensten Plattformen, von Linux über Windows bis hin zum Mac. Sogar auf Linux/zSeries wurde Bochs schon eingesetzt - wie ausgerechnet Bugmeldungen auf Sourceforge zeigen.

In der Plattform-Unabhängigkeit besteht der zentrale Unterschied zur kommerziellen Alternative VMware. Die x86-Befehle werden vollständig simuliert und sind damit auch auf fremden Architekturen verfügbar. Virtualisierung, bei der die simulierten Instruktionen fast mit Hardware-Geschwindigkeit laufen, ist dagegen nur auf x86-gebundenen Emulatoren möglich. Bochs ist daher im Gegensatz zu VMware sehr langsam.

Wer aber die Entwicklung von Bochs über die letzten Releases verfolgt hat, stellt die großen Fortschritte fest, die von Release zu Release gemacht werden, sowohl hinsichtlich der unterstützten Befehlssätze und Peripherie als auch der Geschwindigkeit. Das Projekt ist sehr aktiv und ein Download der neuesten Version lohnt sich immer.

Die Hardware

Bochs bietet einen einfachen PC mit folgender Ausstattung:

  • 286 bis Pentium-Pro-Befehlssatz (je nach Konfiguration)
  • VGA-Grafikchip
  • zwei Floppy-Laufwerke (1,44 MByte oder 2,88 MByte )
  • vier ATA-Kanäle mit bis zu acht Geräten
  • Maus- und Tastatur-Unterstützung
  • Soundblaster-Emulation
  • NE-2000-Unterstützung
  • Simulation von bis zu 15 Prozessoren ist möglich

Die VGA-Emulation erlaubt natürlich nur geringe Auflösungen und die Netzwerk-Unterstützung funktioniert nur bei vorhandener NE-2000-kompatibler Netzwerkkarte. Damit ist die Hardware-Ausstattung sicherlich nicht auf dem neuesten Stand, aber für die Installation und Nutzung eines Gastsystems mehr als ausreichend.

Bochs stellt an das Betriebssystem des Wirts zwar keine Anforderungen, für die Hardware gilt dagegen: je mehr Rechenleistung, desto besser. Ein rein in C++ implementiertes, völlig im User-Mode ablaufendes Emulatorprogramm kann gar nicht genug davon haben. Vor der Verwendung von Bochs haben die Götter aber zunächst den Download und insbesondere die Konfiguration gestellt.

Download und Installation

Über die Bochs-Homepage[1] können das Quellpaket sowie fertige Binaries auch im RPM-Format heruntergeladen werden, sie enthalten das Festplattenimage eines einfachen Linux-Systems (»dlx«, mit einem 1.3-Kernel). Grundlage für diesen Artikel ist Version 2.0.0-pre2, bei Erscheinen des Linux-Magazins sollte allerdings die Ausgabe 2.0.0 schon verfügbar sein.

Seit Version 1.4.1 gibt es allein von der Funktionalität her keinen wichtigen Grund mehr, das Quellpaket herunterzuladen und selbst zu kompilieren. Vorher war dies wegen des deutschen Tastaturlayouts sinnvoll. Die Quellen enthalten jedoch eine Reihe von Patches, die es nicht oder noch nicht in den offiziellen Code geschafft haben. Wer also etwas experimentieren oder neueste Features ausprobieren will, sollte eine eigene Version von Bochs herstellen.

Letzteres ist kein Problem, da Bochs mittels »./configure Optionen; make; make install« das übliche Vorgehen unterstützt. Normalerweise dauert die Entscheidung, welche »configure«-Optionen zu verwenden sind, länger als der gesamte Kompilierprozess. Wer keine schnelle und ständige Internetverbindung hat, sollte vor »make install« das Makefile editieren, sonst versucht das Kommando ein komplettes Linux-Festplattenimage herunterzuladen.

Zwei »configure«-Optionen, die im Linux-Binarypaket nicht verwendet werden, waren sinnvoll, funktionieren aber zumindest unter der 2.0.0-pre2 nicht mehr. Erstens die Option »--enable-slowdown«, die für die Synchronisation der Bochs-Uhr mit der Systemuhr des Wirtssystems sorgt. Ohne diese Option läuft das System mit einem eigenen Verständnis der Zeit. Die zweite nützliche Option ist »--enable-idle-hack«, sie reduziert die CPU-Last des Emulators, falls nichts zu tun ist - sonst muss man mit ständiger Vollauslastung leben.

Installiert wird mit »make install« unter »/usr/local/bochs/latest/«, das ein Link auf die aktuelle Version ist. So können auch mehrere Versionen parallel installiert sein. Die Version 1.4.1 ist Teil der aktuellen SuSE Linux 8.1, allerdings installiert diese Version nur die alte Dokumentation sowie eine zumindest für deutsche Tastaturen unbefriedigende Konfiguration. Hier ist also auch etwas Handarbeit angesagt.

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Simulanten-Contest

    Hängt eine Migration von vorhandenen Windows-Applikationen ab, ist ein Emulator eine gute Möglichkeit. Je nach Konzept setzt er Windows- in Linux-Aufrufe um oder simuliert einen ganzen PC.

  • Teile und herrsche

    Mehrere Linux-Systeme nebeneinander auf einem Computer: Virtuelle Serverkontexte bieten diese Sicherheit stiftende Trennung ohne den Overhead von Emulatoren. Selbst Root kann aus seinem kleinen Königreich nicht ausbrechen.

  • Qual der Wahl

    Mit der Power heutiger Computer wissen die meisten Programme nicht viel anzufangen. Da bietet es sich an, mehrere Betriebssysteme auf einem Rechner zu starten. Das spart in Rechenzentren Geld für Hardware und den Anwendern lästiges Rebooten. Die Lösung Xen virtualisiert PCs extrem effizient.

  • Klein, stark und selbst gebraut

    Kommerzielle Distributionen werden größer und größer und lassen sich immer schwieriger abspecken. Bereits bestehende Minidistributionen helfen oft, jedoch nicht immer. Es ist aber keine Hexerei, selbst Herausgeber einer (Mini-)Distribution zu werden.

  • Geteilte Last

    High-Performance-Computing für daheim oder mit einem Cluster aus 500 Rechnern: Mosix kann beides. Die grafische Oberfläche Mosixview sorgt dafür, dass Sie dabei den Überblick über Prozesse, Prozessoren und Performance behalten.

comments powered by Disqus

Ausgabe 11/2017

Digitale Ausgabe: Preis € 6,40
(inkl. 19% MwSt.)

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.