Since the version 0.72, qemu was extremely simplified and these lines are redundant.
Qemu became so simple in the meantime that the search at the Internet is really sufficient.
But if you have any questions to qemu 0.9.x, dont hesitate to ask.
May 2nd, 2007
####################I have been warning you! This howto is very very old and not up to date!####################
WinXP in Gentoo mit Qemu
Aus den untershiedlichsten Gründen nehmen viele Linuxuser abstand vom Erwerb der VMware oder von CrossOver und
wollen auch für die Nutzung von WinXP, für die es viele Gründe gibt, unter Linux nur freie Software einsetzen. Diese
WinXP-Nutzer waren bisher gegenüber den ME oder NT Benutzern benachteiligt, wenn sie WinXP unter Linux nutzen
wollten. Bochs ist zu langsam, Wine geht nicht mit XP. Viele sehen auch keinen Grund sich eine alte Win95 oder 2000
Version zu besorgen, solange man WinXP und Linux parrallel installieren kann, nur um dann einen nicht allzu leistungsfähigen
Emulator zu betreiben.
Mit dem neuen Ebuild für Qemu hat sich die Situation grundlegend geändert und man kann mit WinXP "flüssig" unter Linux arbeiten.
Stefan Becker von Linuxforen.de hat sich bei der Beschreibung m.e. große Verdienste erworben. Die dort zu findenden
Tipps und Howtos sind wirklich lesenswert und sehr zu empfehlen. Da es jedoch noch keine finale WinXP in Gentoo
Beschreibung gibt, sollen diese wenigen Zeilen den Einstieg für diejenigen erleichtern, die bisher damit wenig zu tun hatten.
Für die Vorbereitung in Gentoo benötigen wir etwa 10 Minuten, die Installationszeit von WinXP ist die übliche.
Dieses Installationsbeispiel ist auf x86 getestet. Wichtige Ergänzungen für amd64 wurden von Redshirt in seinem [post=2813395] Beitrag [/post] genauestens aufgelistet, wofür wir Ihm danken. In der Zwischenzeit hat sich auch im englischsprachigen Forum zu amd64 ein "How-To: Run WinXP in qemu virtual computer on AMD64" entwickelt, auf welches sich die Aufmerksamkeit ebenso richten sollte.
Für die ernsthafte Nutzung brauchen wir ein Netzdevice welches erst im Kernel aktiviert werden muß:
Code: Select all
---> Device Drivers
---> Networking support
---> <M> Universal TUN/TAP device driver support
Wenn das klar ist:
Code: Select all
echo "app-emulation/qemu-softmmu ~x86" >> /etc/portage/package.keywords
echo "app-emulation/qemu-user ~x86" >> /etc/portage/package.keywords
echo "app-emulation/qemu ~x86" >> /etc/portage/package.keywords
Der Grund warum das neue Qemu eine annehmbare Perfomance hat ist das Kernelmodul kqemu, welches zwar nicht unter der GPL steht aber frei verwendet werden kann. Um es zu nutzen muß das Flag gesetzt werden:
Code: Select all
echo "app-emulation/qemu-softmmu kqemu" >> /etc/portage/package.use
Code: Select all
emerge app-emulation/qemu-softmmu app-emulation/qemu-user app-emulation/qemu -pv
These are the packages that I would merge, in order:
Calculating dependencies ...done!
[ebuild R ] app-emulation/qemu-softmmu-0.7.2 +kqemu +sdl 0 kB
[ebuild R ] app-emulation/qemu-user-0.7.2 0 kB
[ebuild R ] app-emulation/qemu-0.7.2 0 kB
Code: Select all
emerge net-misc/vde -s
* net-misc/vde
Latest version available: 1.5.7
Latest version installed: 1.5.7
Size of downloaded files: 136 kB
Homepage: http://vde.sourceforge.net/
Description: vde is a virtual distributed ethernet emulator for emulators like qemu, bochs, and uml.
Code: Select all
/bin/mknod /dev/kqemu c 250 0
/bin/chmod 666 /dev/kqemu
/sbin/modprobe kqemu
Code: Select all
/sbin/modprobe tun
vde_switch -tap tun0 -daemon
chmod 777 /tmp/vde.ctl
ifconfig tun0 10.0.0.5 up
Qemu hat bei der Installation eine Gruppe Qemu erzeugt und alle Benutzer, die mit Qemu arbeiten sollen/dürfen müßen Mitglieder dieser Gruppe sein. Um ev. Problemen mit Berechtigungen zumindest zu minimieren, sollte man auf jeden Fall ab hier die Qemu-User in die Gruppe aufnehmen und nur noch als normaler User arbeiten. Schaue auch unten zum Beitrag von tango.
Nunmehr kann eine virtuelle Festplatte für unser Gastsystem erstellt werden:
Code: Select all
qemu-img create -f raw WinXP.img 20000M
Platz einrichten. Kommen noch Office Programme dazu steigt der Bedarf schnell auf 6G und mehr an.
Nun noch die WinXP-Installations CD rauskramen, in das Laufwerk legen und installieren:
Code: Select all
qemu -hda WinXP.img -cdrom /dev/hdb -boot d
Code: Select all
qemu -user-net -nics 0 -hda WinXP.img -cdrom /dev/hdb -boot d
-hda ist das Laufwerk in XP im Gegensatz zu /dev/hdb, welches unter Linux mein CD Laufwerk ist. Da ich eine Kombigerät habe könnte ich auch die anderen Angaben aus /dev nehmen wie z.B cdrw oder dvd. Hier muß jeder User selbst wissen was er anzugeben hat. Nach ner Stunde oder so ist XP drauf und kann gestartet werden:
Code: Select all
qemu -user-net -nics 1 -m 512 -enable-audio -localtime -hda WinXP.img
Achtung: In XP muß das Netzwerk und der Sound noch eingerichtet werden. Bei mir hat die automatische Netzwerkerkennung sofort funktioniert. Die Soundkarte muß manuell eingerichtet werden.
Wichtig: Für die Qemu-Konsole, Tastenbedienung, Netz, Sound und Drucken unbedingt das lesen !
Das Ergebnis ist ein "flüssiges" zu benutzendes WinXP. Dabei ist die Performance natürlich nicht zu vergleichen mit einer nativen XP Installation. Aber es ist zu gebrauchen und ich habe auch OfficeXP Professional installiert und kann große Powerpoint Präsentationen mühelos erstellen und bearbeiten. Nachdem das Netz steht sind auch Mails problemlos. Es besteht noch die Möglichkeit Samba einzurichten und den Datenaustausch mit Gentoo und das Drucken damit einzurichten.
Probleme:
Im reinen udev Betrieb kann das /dev/kqemu und das /dev/net/tun nach einem Neustart nicht mehr vorhanden sein. Abhilfe schafft entweder das Umschalten in /etc/conf.d/rc auf RC_DEVICE_TARBALL="yes" oder das Einrichten eines Startscriptes, in dem die notwendigen Angaben enthalten sind.
Nach der Installation und dem aktivieren der XP-Lizenz konnte das Updaten erst durchgeführt werden, nachdem SP2 über eine CD manuell eingespielt wurde.
Antivir führte zum (einmal) freeze. Dies kann von anderen Usern nicht Bestätigt werden (Siehe weiter unten). Für die Angabe von alternativen freien Antivierenprogrammen wäre ich dennoch sehr dankbar.
Hier noch ein wichtiger Beitrag von Earthwings zum Netz. Diese Ergänzung ist unten im Thread zu finden, der Übersicht wegen habe ich es gleich hier mit reingenommen.
Zitat:
Danach noch einEarthwings wrote: Noch ein paar Ergänzungen zum Howto: /dev/kqemu und udev funktionieren laut Ebuild nicht mit aktuellem 2.6.13er Kernel, kann ich auch bestätigen. Sobald das Problem behoben ist, wird /dev/kqemu von udev automatisch angelegt. Die Gruppe wird auf qemu gesetzt, man sollte seinen Benutzer dieser Gruppe hinzufügen.
kann man über den Neustart hinaus folgendermaßen erhalten:Code: Select all
/sbin/modprobe tun vde_switch -tap tun0 -daemon chmod 777 /tmp/vde.ctl ifconfig tun0 10.0.0.5 upUnd folgendes zu /etc/conf.d/net hinzufügen:Code: Select all
echo tun >> /etc/modules.autoload.d/kernel-2.6Code: Select all
config_tun0=( "10.0.0.5" ) preup() { if [ "$IFACE" == "tun0" ] then if [ -S /tmp/vde.ctl ] then rm /tmp/vde.ctl elseif [ -e /tmp/vde.ctl ] eerror "/tmp/vde.ctl exists, but is not a socket" return 1 fi vde_switch -tap $IFACE -daemon chmod 777 /tmp/vde.ctl return 0 fi return 0 } postdown() { if [ "$IFACE" == "tun0" ] then if [ -S /tmp/vde.ctl ] then einfo "Removing /tmp/vde.ctl socket" rm /tmp/vde.ctl return 0 fi fi return 0 }
Code: Select all
ln -s /etc/init.d/net.lo /etc/init.d/net.tun0
rc-update add net.tun0 default
rcJa und das war es schon.
Ach ja, hier noch ein kleines Sahnehäubchen. Wenn bis hierher alles zur Zufriedenheit läuft und auch kqemu seine Arbeit, auch nach mehreren Neustarts, zuverlässig durchsteht, kann man kqemu nochmals zusätzlich beschleunigen, indem die Startoptionen um:
Code: Select all
-kernel-kqemu erweitert wird. Dadurch wird der Ring-0 mit einbezogen.
Zum Beispiel:
Code: Select all
qemu -net user -net nic 0 -m 712 -soundhw sb16 -localtime -hda WinXP.img -kernel-kqemu
Ma






