Archiv verlassen und diese Seite im Standarddesign anzeigen : (k) Qemu 0.72
stefan.becker
04.09.05, 19:49
Version 0.72 von Qemu / Kqemu ist erschienen.
Homepage: http://fabrice.bellard.free.fr/qemu/
Changelog QEMU: http://fabrice.bellard.free.fr/qemu/changelog.html
Bei KQEMU wurde der Win98 und der x64 Support verbessert. Win 98 geht jetzt wirklich problemlos damit.
Hat das schonmal jemand kompiliert? Miot folgendem PKGBUILD gehts nicht:
pkgname=kqemu
pkgver=0.7.2
pkgrel=1
pkgdesc="The QEMU Accelerator Module increases the speed of QEMU when a PC is emulated on a PC. Binary distribution is not allowed."
conflicts=("qemu")
install=kqemu.install
url="http://fabrice.bellard.free.fr/qemu/"
source=(http://fabrice.bellard.free.fr/qemu/qemu-$pkgver.tar.gz \
http://fabrice.bellard.free.fr/qemu/kqemu-$pkgver.tar.gz)
depends=('sdl' 'xorg')
build() {
cd $startdir/src/qemu-$pkgver
mv ../kqemu .
sed -i s\%sdl_config\ --static-libs%sdl_config\ --libs% configure
./configure --prefix=/usr
make || return 1
sed -i s\%/usr%$startdir/pkg/usr% config-host.mak
# disable the kqemu install, we'll do that our own way...
echo " " > kqemu/install.sh
make prefix=$startdir/pkg/usr install
# install the kqemu kernel module
cd kqemu
if [ -f kqemu.ko ] ; then
module=kqemu.ko
else
module=kqemu.o
fi
# Find kernel install path
kernel_path="$startdir/pkg/lib/modules/`uname -r`"
mkdir -p "$kernel_path/misc"
cp "$module" "$kernel_path/misc"
}
[
Version 0.7.1 ging problemlos; jetzt bekomme ich aber folgenden Fehler:
[...]
gcc -Wall -O2 -g -fno-strict-aliasing -fomit-frame-pointer -mpreferred-stack-boundary=2 -falign-functions=0 -fno-gcse -fno-reorder-blocks -fno-optimize-sibling-calls -I. -I/home/pierre/packages/kqemu/src/qemu-0.7.2/target-i386 -I/home/pierre/packages/kqemu/src/qemu-0.7.2 -I/home/pierre/packages/kqemu/src/qemu-0.7.2/linux-user -I/home/pierre/packages/kqemu/src/qemu-0.7.2/linux-user/i386 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I/home/pierre/packages/kqemu/src/qemu-0.7.2/fpu -I/home/pierre/packages/kqemu/src/qemu-0.7.2/slirp -c -o op.o /home/pierre/packages/kqemu/src/qemu-0.7.2/target-i386/op.c
../dyngen -o op.h op.o
dyngen: ret or jmp expected at the end of op_bsfw_T0_cc
make[1]: *** [op.h] Fehler 1
make[1]: Leaving directory `/home/pierre/packages/kqemu/src/qemu-0.7.2/i386-user'
make: *** [all] Fehler 1
==> ERROR: Build Failed. Aborting...
Hi!
Ich habe das gerade mal durchlaufen lassen nach Stefan`s HowTo.
Zitat daraus:
Wer nur auf einem X86-Linux z. B. Windows starten möchte, braucht nur die reine i386-Emulation. Das spart einiges an Abhängigkeiten und Overhead:
./configure --target-list=i386-softmmu
Zitat Ende ;
So habe ich keine Probleme. läuft sauber durch. Habe allerdings auch für kqemu im Sourcecode was verändert. Jedoch betrifft das (meiner ahnungslosen Meinung nach) nicht Deinen geschilderten Fehler.
Was ich gemacht hatte steht aber für alle Fälle hier :
http://www.linuxforen.de/forums/showthread.php?t=190130&page=1&pp=15&highlight=kqemu
J. Dieskau hatte dazu was geschrieben.
Gruß
Edit:
Huch, sollte aufmerksamer sein, kqemu ist ja auch neu.
Hab`s nochmal eben gebaut, jetzt brauch ich auch bei kqemu nix mehr umzuschreiben, läuft direkt sauber in neuer Version durch und das Modul ist auch zu laden!
Painkiller
04.09.05, 20:58
Hmm... geht immer noch nicht mit gcc 4 zu backen :rolleyes:
Hmm... geht immer noch nicht mit gcc 4 zu backen :rolleyes:
Ah OK, dann ist das wohl mein Problem ;-)
Painkiller
04.09.05, 22:06
und meines auch :D
Hallo an alle,
also nach vielen lesen und googeln, bin ich zu dem Schluß gekommen, dass mein Problem auch an gcc 4.0.2 liegt, ein paar Infos.
configure läuft einwandfrei durch:
server:/usr/src/qemu # ./configure --target-list=x86_64-softmmu
Install prefix /usr/local
BIOS directory /usr/local/share/qemu
binary directory /usr/local/bin
Manual directory /usr/local/share/man
ELF interp prefix /usr/gnemul/qemu-%M
Source path /usr/src/qemu
C compiler gcc
Host C compiler gcc
make make
host CPU x86_64
host big endian no
target list x86_64-softmmu
gprof enabled no
static build no
SDL support yes
SDL static link yes
mingw32 support no
Adlib support no
FMOD support no
kqemu support yes
KQEMU Linux module configuration:
kernel sources /lib/modules/2.6.13-8-default/build
kbuild type 2.6
aber dann make und :(
I/usr/src/qemu/slirp -c -o op.o /usr/src/qemu/target-i386/op.c
/usr/src/qemu/target-i386/op.c: In function ‘op_goto_tb0’:
/usr/src/qemu/target-i386/op.c:1300: warning: cast to pointer from integer of different size
/usr/src/qemu/target-i386/op.c: In function ‘op_goto_tb1’:
/usr/src/qemu/target-i386/op.c:1305: warning: cast to pointer from integer of different size
../dyngen -o op.h op.o
dyngen: ret or jmp expected at the end of op_bsfw_T0_cc
make[1]: *** [op.h] Error 1
make[1]: Leaving directory `/usr/src/qemu/x86_64-softmmu'
make: *** [all] Error 1
Also habe ich von gcc 4.0.2 auf gcc 3.3.2 umgestellt, und sowohl make wie auch make install liefen einwandfrei durch. Aber nun kann ich das Modul nicht einbinden, da es natürlich nicht mit meinem Kernel, der ja mit gcc 4.0.2 erstellt wurde, verträgt.
Kann mir irgend jemand aus der Zwickmühle helfen ?
Ich habe übrigens QEMU aus qemu-0.7.2-1.1.el3.rf.i386.rpm installiert, ist zwar von RH, aber läuft einwandfrei mit WIN 98 SE, aber für XP brauche ich Beschleunigung.
Danke für Eure Hilfe.
Ginsengelf
27.09.05, 21:20
Moin, du könntest es einmal auf die harte Tour versuchen, das Modul mit dem Parameter --force laden, das ignoriert die Versionsunterschiede, ob es dann funktioniert...
Ginsengelf
stefan.becker
27.09.05, 22:07
Im User Forum war ein Tipp dazu. Zuerst Qemu übersetzen. Dann ins Verzeichnis "KQEMU" wechseln, "make clean" "configure" make" und übersetzen mit dem gcc 4.
http://qemu.dad-answers.com/viewtopic.php?t=100
@grinsengelf
So hart wollte ich eigendlich nicht sein, aber wenn der Tip von stefan.becker nicht funktioniert werde ich notfalls zum gewaltigen HULK und gehe deinen Weg.
@stefan.becker
werde es heute nacht mal ausprobieren und dann mitteilen ob es geht.
Hallo,
hat etwas länger gedauert, aber nun kann ich das Modul laden, nachdem ich wie im oben benannten Thread beschrieben in das kqemu Verzeichnis gewechselt habe und dann mit make clean, make das Modul gebaut hatte.
Ich habe dann das Modul kquemu.ko aus dem kqemu Verzeichnis nach /lib/modules/2.6.13-8-default/misc kopiert.
Anschließend mit modprobe kquemu gerladen. Mit lsmod | grep kqemu geprüft. Das Modul ist geladen.
Nun mit qemu -m 512 -enable-audio winxp.img geladen, aber
geanu so langsam wie vorher. Sehe ich bei laufenden quemu mit lsmod nach, ist bei used auch eine 0 eingetragen.
Nun meine Frage, kann ich irgendwie erkennen oder herausfinden ob die von mir verwendete rpm Version überhaupt mit kqemu Support erstellt wurde?
Gruß nobi
stefan.becker
01.10.05, 10:33
Mir sind keine Binärpakete mit kqemu bekannt. Daher übersetz es doch komplett selbst. Das ist nicht schwer, anders geht es eh nicht.
Hallo stefan.becker,
gesagt getan.
Also zuerst einmal die Sourcen runtergeladen,
dann gcc-4.0.2 und cpp deinstalliert, und wieder gcc-3.3.2 und zugehörige cpp installiert, da sich ja sonst die Quellen nicht compilieren lassen.
dann ./configure --target-list=x86_64-softmmu
dann make
dann make install
dann wieder gcc-4.0.2 installiert, um kqemu zu meinem Kernel kompatibel zu machen.
dann in das Kqemu Verzeichnis gewechselt und
make clean
make
dann kqemu.ko in modules kopiert.
dann modprobe kqemu
Bis hierhin keine Fehler.
Also eingeben
qemu -m 512 -enable-audio winxp.img
Leider hat sich der Rechner komplett aufgehängt und zwar so, dass auch auf anderen Konsolen kein Befehl mehr möglich war. Mir blieb nur ausschalten, was zu einer Reparaturinstallation führte, da ext3 Dateisystem zerschossen.
Ich denke das lag an mir, oder ? Ich habe der virtuellen Maschine 512 MB Ram zugeordnet, und kqemu richtet ja noch ne Ram Drive ein, bei 1024 MB Ram blieb wohl zu wenig für den Server über.
Wenn der große Rechner wieder läuft versuche ich es noch einmal. Man gut man hat noch nen P-II-350 mit SuSE 8.1 am Netz.
Gruß nobi
So, es sit geschafft. Mein großer rennt wieder.
Also noch mal nachgelesen in der Dokumentation von Kqemu.
Bei meiner Installationsmethode wurde erstens /dev/kqemu nicht automatisch erstellt, also habe ich das Skript install.sh im kqemu Ordner von Hand aufgerufen und das dev so erstellt.
Nun ließ sich auch qemu starten, aber immer noch ohne kqemu (kann man im qemu Konsolenfenster über den Befehl info kqemu überprüfen). Also wieder gelesen und siehe da für ein 64 bit System ist folgender Befehl zuständig:
qemu-system-x86_64
Bei mir starte ich jetzt mit
qemu-system-x86_64 -m 384 -enable-audio winxp.img
Nun läuft winxp merklich schneller, aber im Vergleich zu vmware immer noch recht langsam.
Kann man das irgendwie noch weiter beschleunugen?
Ich werde mich jetzt erst einmal um die Netzwerkverbindungen kümmern um ins Internet zu kommen, dann kommt der Sound dran, der trotz des oben benannten Befehles nicht funktioniert, da Windows keine Soundkarte findet (Auch nicht über die Hardwareerkennung).
Danke für die Hilfe.
OT:
Magickeys bei Kernelpanic oder ähnlich kritischen Zuständen, dein FS wirds dir danken.
@obzidian
Habe gerade mal bei Google gesucht und versucht rauszufinden was Magickeys ist. Wenn ich es richtig interpretiere ist das ein keylogger.
Danke, aber ich halte mich lieber an die Bordmittel von Linux, ein beherztes
e2fsk tuts auch nach einem Absturz, und auch Grub ist leicht zu reparieren.
Die Reparatur hat insgesamt ca. 15 Minuten gedauert und es ging kein Bit verloren.
Gibt's eigentlich inzwischen eine Lösung für qemu und gcc 4.0.2? Hab dasselbe Problem und keine Lust, mit verschiedenen Compilerversionen zu arbeiten.
stefan.becker
07.12.05, 17:18
Es gibt diverse Patches in der Entwickler-Mailingliste. Allerdings ist die Lösung mit 2 Compilern wohl einfacher.
Was serienmäßiges gibt es ansonsten noch nicht.
@celinor
Wenn Du nicht weiter kompilieren willst, dann lernst Du auch nichts ;-)
Tip: Sieh Dir mal VMPlayer an, findest Du auf der Homepage von vwware, läuft gut. Must nur jemand finden, der Dir ein Image mit der Vollversion baut.
stefan.becker
10.12.05, 10:50
Must nur jemand finden, der Dir ein Image mit der Vollversion baut.
Alternativ liest du die Howtos dazu.
http://www.linuxforen.de/forums/showthread.php?threadid=47553
@stefan.becker
Du redest von Vmware Workstation und ich von vmplayer.
vmplayer ist kostenlos und zeitlich unbegrenzt nutzbar, vmware workstation ist unbegrenzt nur als Kaufversion nutzbar.
Natürlich kann man sich mit der Testversion ein Image bauen und es dann mit vmplayer nutzen, aber ob das legal ist, weiß ich nicht.
stefan.becker
11.12.05, 09:54
Lies das letzte Kapitel des Howtos, dann weisst du, was ich meine.
Man braucht eben nicht die Vollversion. Man braucht nur den Player, Qemu und einen Texteditor.
Zur Legalität: Selbst im VMWARE Forum finden sich Anleitungen dazu. In der EULA und auf der Homepage ist ebenfalls kein Verbot zu finden.
Ist ja was anderes als eine geklaute Serien-Nr. eines kostenpflichtigen Produktes.
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.