bochs - virtual machine


Unterpunkte dieser Seite

Einleitung
Installation
Verwendung von bochs
Die Datei VGABIOS-lgpl-latest

Einleitung

bochs ist ein Emulator, der einen x86 Processor emuliert. Man kann damit ein Betriebsystem entwickeln und testen, ohne ständig den Computer neu zu starten.

Installation

Laden Sie sich von der bochs homepage den Quellcode herunter und entpacken Sie ihn in ein Verzeichnis auf der Festplatte. Als Linux Benutzer führen Sie dann in diesem Verzeichnis das configure script mit root-Rechten aus.
./configure
Das configure script testet, ob auch ihrem System alle Vorraussetzungen für das Compilieren von bochs erfüllt sind, ob also alle benötigten Programme und Bibliotheken vorhanden sind. Falls alles vorhanden ist, erzeugt configure eine makefile. Diese makefile ist ein Datei die von dem Programm make ausgelesen wird. Man startet also das Programm make
make
Es sucht und findet die makefile und wird von ihrem Inhalt gesteuert. make ruft den Compiler auf und führt somit vollautomatisch die Übersetzung durch. Die Übersetzung dauert auf einem aktuellen Computer etwa fünf Minuten. Danach liegt in dem Verzeichnis eine ausführbare Datei namens bochs vor. Dies ist die Datei mit der man bochs starten kann.

Nun sollte man noch
make install
mit root-Rechten aufrufen, damit bochs in die passenden Systemordner installiert wird. (Hauptsächlich wird das BIOS-ROM Image durch die Standardeinstellungen an der Stelle /usr/local/share/bochs/BIOS-bochs-latest gesucht, wo es aber vor make install nicht vorhanden ist.). Durch make install werden auch die man pages zu bochs und bochsrc installiert. Nachdem man make install aufgerufen hat, kann man bochs über den Befehl
bochs
starten.

Verwendung von bochs

Übersicht
bochs simuliert einen virtuellen PC auf dem ein Betriebsystem ausgeführt werden kann. Es ist nötig
  1. Den virtuellen PC zu konfigurieren
  2. Ein Betriebsystem mit dem virtuellen PC zu laden
Den virtuellen PC konfigurieren
Unter Linux reicht es den Befehl
bochs
auszuführen. Nachdem bochs gestartet ist, liest es die Datei .bochsrc oder auch bochsrc.txt zuerst aus dem Verzeichnis aus, in dem man bochs aufgerufen hat. Falls im aktuellen Verzeichnis keine .bochsrc gefunden wird, wird versucht aus dem home-Verzeichnis des Benutzers, der bochs gestartet hat eine .bochsrc zu laden. Nach der Installation von .bochs liegt keine Konfigurationsdatei vor. Diese wird kann man automatisch von bochs erstellen lassen, indem man bochs startet und Punkt 4 aus dem Menü auswählt. Nun kann man den Pfad und den Namen der Datei angeben, in die man die Einstellungen speichern möchte. In der .bochsrc findet bochs die Einstellungen des virtuellen PCs, den es simulieren soll. Folgende .bochsrc startet freedos:
# configuration file generated by Bochs
config_interface: textconfig
display_library: x
megs: 32
romimage: file="/usr/local/share/bochs/BIOS-bochs-latest", address=0x00000
vgaromimage: file="/usr/local/share/bochs/VGABIOS-lgpl-latest"
#boot: floppy
boot: c
floppy_bootsig_check: disabled=0
# no floppya
floppya: 1_44=/home/bischowg/bochs/images/freedos-img/a.img, status=inserted
floppyb: 1_44=/home/bischowg/bochs/images/freedos-img/b.img, status=inserted
#diskc: file="/home/bischowg/bochs/images/freedos-img/c.img", cyl=306, heads=4,spt=17
# no floppyb
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
ata0-master: type=disk, path="/home/bischowg/bochs/images/freedos-img/c.img", cylinders=306, heads=4, spt=17
#ata0-slave: type=cdrom, path="/dev/hdc",status=inserted
ata1: enabled=1, ioaddr1=0x170, ioaddr2=0x370, irq=15
ata2: enabled=0
ata3: enabled=0
parport1: enabled=1, file=""
parport2: enabled=0
com1: enabled=1, mode=null, dev=""
com2: enabled=0
com3: enabled=0
com4: enabled=0
usb1: enabled=0
i440fxsupport: enabled=0
vga_update_interval: 40000
vga: extension=none
cpu: count=1, ips=2000000, reset_on_triple_fault=1
text_snapshot_check: enabled=0
private_colormap: enabled=0
clock: sync=none, time0=local
# no cmosimage
ne2k: enabled=0
pnic: enabled=0
sb16: enabled=0
# no loader
log: out.bochs
logprefix: %t%e%d
debugger_log: -
panic: action=ask
error: action=report
info: action=report
debug: action=ignore
pass: action=fatal
keyboard_type: mf
keyboard_serial_delay: 250
keyboard_paste_delay: 100000
keyboard_mapping: enabled=1, map=/usr/local/share/bochs/keymaps/x11-pc-de.map
user_shortcut: keys=none
mouse: enabled=0, type=ps2
#ips: 15000000
freedos kann der homepage heruntergeladen http://bochs.sourceforge.net/diskimages.html werden. Der Inhalt des heruntergeladenen freedos-Archives muss dann in das Verzeichnis /home/bischowg/bochs/images/freedos-img entpackt werden. Dort sollen dann die Images a.img, b.img und c.img liegen.
Ein Betriebsystem laden
Nachdem man die Konfiguration durchgeführt hat, kann man bochs starten
bochs
und das Betriebsystem freedos wird geladen.


Die Datei VGABIOS-lgpl-latest

Diese Datei erwartet bochs im Verzeichnis /usr/share/bochs. Falls diese Datei nach der Installation nicht in diesem Verzeichnis enthalten ist, sollte man einen Blick in das Verzeichnis /usr/share/vgabios werfen. Dort gibt es weitere VGABIOS images für bochs. Diese Images kann man unter Ubuntu mit einem Paket per Synaptic installieren. Man fügt einfach in die bochsrc.txt oder .bochsrc folgende Zeile ein:
vgaromimage: file="/usr/share/bochs/VGABIOS-lgpl-latest"
und kommentiert dafür folgende Zeile aus.
vgaromimage: file="/usr/share/vgabios/vgabios.bin"



zum Seitenanfang
zur Hauptseite

Letzte Änderung: 10.06.2006