Der aktuelle Linux-Kernel:
Stabil: 6.11.2
Longterm: 6.6.54
Longterm 5.x: 5.15.167
Longterm 4.x: 4.19.322
LINUX-Infopage

Was ist LINUX?
Distributionen
Impressum
Datenschutz

Informationen

Einführung
Berichte
Befehle
Begriffe

Anwendungen

Multimedia
Browser
Allgemein

News

News-Archiv



Bochs: Linux unter Windows

LINUX-Infopage > Berichte: Bochs: Linux unter Windows

Bochs: Linux unter Windows in einem Fenster ausführen

Einführung

Bochs ist ein Open-Source IA-32 (x86) PC Emulator, welcher in C++ geschrieben wurde und auf allen bekannten Plattformen läuft. Da Bochs einen kompletten Computer emuliert, kann es auch die meisten Betriebssysteme starten, wie z.B. Linux, Windows 95, 98, NT oder DOS. Gespeichert werden diese Betriebssysteme und deren Anwendungen in Festplatten-Images, also Dateien einer bestimmten Größe auf einer bereits bestehenden Festplatten-Partition, welche mit einem mitgeliefertem Tool erstellt werden können. Dank Bochs ist es möglich, z.B. von Windows aus in einem Fenster das Betriebssystem Linux laufen zu lassen oder umgekehrt in einem Fenster unter Linux das Betriebssystem Windows zu starten. Da Bochs alle x86-Instruktionen des Prozessors emuliert, sowie auch alle Geräte des PC-Systems, läuft es verhältnismäßig langsam. Dafür hat es aber den Vorteil, dass Software und Betriebssysteme, welche für x86-Prozessoren geschrieben wurde, auch auf vollkommen anderen Rechnerarchitekturen läuft.

Bochs - Screenshot (95 KB)
DLX Linux in einem Windows 2000-Fenster

Bezugsquelle

Bochs ist freie Open-Source-Software und kann somit kostenlos von folgender Adresse heruntergeladen werden: http://bochs.sourceforge.net

Neben dem kompletten Quellcode können auch bereits kompilierte Pakete für die Betriebssysteme Windows, Linux, MacOS X, MacOS 9 und BeOS heruntergeladen werden. Bei diesen Paketen ist neben einer ausführlichen Dokumentation auch bereits die Mini-Linux-Distribution DLX Linux mit enthalten, die Downloadgröße hält sich mit ca. 3 MB in Grenzen.

Konfiguration von Bochs

Standardmäßig wird die Uhr im Emulator nicht mit der Uhr des realen Computers synchronisiert, so dass z.B. der Bildschirm ständig nach wenigen Sekunden ohne Eingabe schwarz wird (screen blanking). Damit die Zeit im Emulator nicht davonrennt, ist noch eine kleine Anpassung in der Konfigurationsdatei notwendig:

Klicken Sie auf die Verknüpfung zum 'Bochs 2.2.6 Folder' im Startmenü unter 'Bochs 2.2.6'. Es öffnet sich nun ein Fenster mit dem Programmverzeichnis von Bochs. Doppelklicken Sie auf das Unterverzeichnis 'dlxlinux' und öffnen die Datei 'bochsrc.bxrc' mit einem Texteditor (z.B. Notepad). Gehen Sie zum Ende der Datei und fügen Sie folgende Zeile an:

clock: sync=realtime

Besonders dann, wenn man eine eigene Linux-Version laufen lassen möchte, ist es wichtig, dass die Uhr nicht zu schnell läuft: Versucht man z.B. an der Console sein Passwort einzugeben, so schlägt ohne diese Änderung der Timeout für die Passworteingabe bereits nach nicht einmal einer Sekunde zu, was die Eingabe des Passwortes schlicht unmöglich macht.

Bochs mit DLX Linux starten

Da die Konfiguration fürs Erste abgeschlossen ist, können Sie Bochs nun starten. Verwenden Sie dazu die Verknüpfung im Startmenü unter 'Bochs 2.2.6', welche mit 'DLX Linux' beschriftet ist.

Unmittelbar nach dem Starten von Bochs mit DLX Linux erscheint folgendes Bild:

Plex86/Bochs VGABios 0.5d 29 Dec 2005
This VGA/VBE Bios is released under the GNU LGPL

Please visit :
 . http://bochs.sourceforge.net
 . http://www.nongnu.org/vgabios

Bochs VBE Display Adapter enabled

Bochs BIOS - build: 01/25/06
$Revision: 1.160 $ $Date: 2006/01/25 17:51:49 $
Options: apmbios pcibios eltorito

ata0 master: Generic 1234 ATA-2 Hard-Disk (10 MBytes)

Booting from Hard Disk...

LILO boot: _

Nun kann man entweder fünf Sekunden warten, bis Linux automatisch geladen wird, oder den Vorgang durch Betätigen der Eingabetaste beschleunigen.

Wenige Sekunden später wartet schon der Linux-Login-Prompt auf eine Eingabe:

Serial driver version 4.11a with no serial options enabled
tty00 at 0x03f8 (irq = 4) is a 16550A
PS/2 auxiliary pointing device detected -- driver installed.
loop: registered device at major 7
hda: Generic 1234, 10MB w/256kB Cache, LBA, CHS=306/4/17
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Floppy drive(s): fd0 is 1.44M, fd1 is 1.44M
Started kswapd v 1.4.2.2
FDC 0 is a 8272A
Partition check:
 hda: hda1
VFS: Mounted root (ext2 filesystem) readonly.
Feb 26 13:55:40 init[1]: version 2.4 booting
EXT2-fs warning: mounting unchecked fs, running e2fsck is recommended
Mounting remote file systems...
INET: syslogd
Feb 26 13:55:41 init[1]: Entering runlevel: 4



Welcome to DLX V1.0 (C) 1995-96 Erich Boehm
                    (C) 1995    Hannes Boehm


dlx login: _

Geben Sie hier root ein und drücken Sie die Eingabetaste. Es erscheint nun ein kurzer Hinweis auf die Linux-Version und der Eingabe-Prompt:

dlx:~# _

Nun können Sie das Dateisystem erkunden. Es steht Ihnen sogar ein kleines Online-Hilfesystem mit dem Befehl 'help' zur Verfügung. So erhält man z.B. durch Eingabe von 'help cd' Hinweise darüber, wie der Befehl 'cd' zum Wechseln in andere Verzeichnisse benutzt wird. Weitere Befehle, die für eine Erkundungstour hilfreich sind, finden Sie auch auf LINUX-Infopage erklärt:
cd, ls, cat, more, mkdir, rmdir, rm, ...weitere Befehle

Deutsche Tastaturbelegung in DLX Linux

Damit Sie in DLX Linux mit einer deutschen Tastatur komfortabel arbeiten können, müssen Sie noch ein paar Änderungen an den Konfigurationsdateien vornehmen. Da DLX Linux mit keiner vorgefertigten Tastaturtabelle (keymap) daherkommt, muss erst eine erstellt werden. Hierzu wechseln Sie mit dem Befehl 'cd' in das Verzeichnis '/usr/lib/kbd' und erstellen mit dem mitgelieferten Editor 'vi' eine Datei, z.B. mit dem Namen 'ger.map', indem Sie den Editor wie folgt aufrufen: 'vi ger.map'.

Welcome to DLX V1.0 (C) 1995-96 Erich Boehm
                    (C) 1995    Hannes Boehm


dlx login: root
Linux 1.3.89.
dlx:~# cd /usr/lib/kbd
dlx:/usr/lib/kbd# vi ger.map_

Nach dem Starten des Editors sieht die Ausgabe nun etwa wie folgt aus:

_
~
~
~
~
~
~
~
~
~
~
~
 "ger.map" [NEW FILE]  1 line, 1 char

Sobald Sie nun die Taste 'a' betätigen, können Sie beginnen zu schreiben. Tippen Sie alles ein, was in der folgenden Tabelle in der Spalte 'Zeile' steht. Wenn Sie damit fertig sind, drücken Sie STRG+C und danach die Eingabetaste. Nun wartet der Editor auf die Eingabe eines Befehls. Um eine Datei zu speichern gibt es den Befehl ':w'. Da Sie zur Zeit noch mit der amerikanischen Tastenbelegung arbeiten, gelangen Sie an den Doppelpunkt, indem Sie 'Ö' drücken. Wenn die Datei gespeichert ist, verlassen Sie den Editor mit dem Befehl ':q'.

Damit die neue Tastaturbelegung geladen wird, geben Sie den Befehl 'loadkeys ger.map' ein. Von nun an können Sie mit der deutschen Tastaturbelegung arbeiten.

Wenn Sie diese Belegung dauerhaft machen möchten, müssen Sie noch die Datei 'rc.local' im Verzeichnis '/etc/rc.d' editieren. Dazu rufen Sie wieder vi auf: 'vi /etc/rc.d/rc.local'. Bewegen Sie den Cursor mit den Pfeiltasten an das Ende der Datei und fügen Sie die folgende Zeile hinzu (vorher auf 'a' drücken, damit etwas eingegeben werden kann):

/bin/loadkeys /usr/lib/kbd/ger.map

Verlassen Sie den Editier-Modus mit STRG+C und betätigen Sie dann die Eingabetaste. Nun speichern Sie die veränderte Datei ab (':w') und verlassen den Editor (':q'). Von nun an wird beim Systemstart automatisch die deutsche Tastaturbelegung geladen.
Inhalt der Datei /usr/lib/kbd/ger.map:
Zeile: Bedeutung:
keycode 21 = z deutsche Belegung der Taste 'z'
keycode 44 = y deutsche Belegung der Taste 'y'
altgr keycode 18 = currency AltGr+E als Währungstaste (Euro)
altgr keycode 46 = cent AltGr+C ergibt Cent
altgr keycode 16 = at AltGr+Q ergibt @
altgr keycode 50 = mu AltGr+M ergibt µ
keycode 40 = +adiaeresis +Adiaeresis ä   Ä
keycode 39 = +odiaeresis +Odiaeresis ö   Ö
keycode 26 = +udiaeresis +Udiaeresis ü   Ü
keycode 53 = minus    underscore Meta_minus -   _
keycode 51 = comma    semicolon ,   ;
keycode 52 = period   colon .   :
keycode 86 = less     greater bar <   >   |
keycode 27 = plus     asterisk   dead_tilde +   *   ~
keycode  3 = two      quotedbl twosuperior  nul 2   "   ²
keycode  4 = three   section threesuperior Escape 3   §   ³
keycode  7 = six      ampersand 6   &
keycode  8 = seven    slash      braceleft 7   /   {
keycode  9 = eight    parenleft  bracketleft 8   (   [
keycode 10 = nine     parenright bracketright 9   )   ]
keycode 11 = zero     equal      braceright 0   =   }
keycode 12 = ssharp   question   backslash ß   ?   \
keycode 13 = dead_acute dead_grave ´   `
keycode 41 = dead_circumflex degree Meta_asciicircum Control_asciicircum ^   °
keycode 43 = numbersign apostrophe #   '

Verlassen des Systems

Um Bochs zu verlassen, sollten Sie zuerst Linux herunterfahren. Da es das Kommando 'halt' in diesem Linux-System nicht gibt, verwenden Sie stattdessen 'reboot', um den simulierten Rechner neuzustarten, denn dabei wird auch das Linux-System heruntergefahren. Sobald der Lilo-Prompt wieder erscheint, können Sie durch Klicken auf den Power-Button oben rechts den Emulator beenden.

Fragen und Anregungen zu diesem Bericht? Schreiben Sie mir eine E-Mail!




nach oben
nach oben

Tipp


Wussten Sie schon?

Auf manchen Systemen (z.B. bei SuSE Linux) sind die Windows-Tasten (falls vorhanden) auf der Tastatur so konfiguriert, dass man damit zwischen verschiedenen Konsolen hin- und herschalten kann.