Emulation CPU sous GNU/Linux
qemu fonctionne avec
un
module
qui améliore les performances.
Vous n'êtes pas obligé mais cela est grandement
conseillé, car la différence se fait sentir.
Installation
Les dépendances de qemu: libc6 (>=2.3.2-ds1-4),
libsdl
(>=1.2), zlib1g (>=1.1.2.1), vgabios (>=0.4c),
bochsbios
(>=2.1.1).
- Installer les headers correspondant à votre
kernel :
sudo apt-get install linux-headers-`uname -r`
- Télécharger à partir de
http://fabrice.bellard.free.fr/qemu/download.html
qemu-x.y.z.tar.gz
et
kqemu-x.y.z.tar.gz
- Se rendre dans le dossier tmp et détarer les
fichiers:
cd
/tmp
puis
tar
zxvf qemu-x.y.z.tar.gz
cd qemu-x.y.z
- détarer kqemu dans qemu-x.y.z :
tar
zxvf /tmp/kqemu-x.y.z.tar.gz
et après comme d'habitude :
./configure puis
make
make
install
Vous devez ensuite éditer le fichier
/etc/modules.conf
afin d'y ajouter l'entrée kqemu ainsi le module sera
chargé au démarrage.
Les manipulations
après l'installation
- Ensuite vous devrez créer une image disque où
sera installé le système :
Par exemple, une image de 4giga sera fera avec la commande qemu-img et
le paramètre 4G qui définit la taille.
qemu-img create /home/malekal/windows.img
4G
La taille peut être exprimée en
méga-octect avec le paramètre M
pour plus d'infos:
qemu-img --help
- Pour booter à partir d'un CD-Live :
qemu -boot d -cdrom cdlive.iso
- Pour booter à partir du cdRom ( /dev/hdd peut
changer
selon votre config )
qemu
-boot d -cdrom /dev/hdd fichier.img
Les problèmes que l'on peut rencontrer
Erreur : Could
not open '/dev/kqemu' - QEMU acceleration layer not activated
si votre distrib ( c'est le cas de ubuntu ) utilise udev, au moment de
charger le module, il faut taper :
/sbin/modprobe kqemu major=0
A la compilation vous obtenez l'erreur suivante :
-0.7.2/linux-user/i386
-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
-I/home/malekalmorte/qemu-0.7.2/fpu
-I/home/malekalmorte/qemu-0.7.2/slirp -c -o op.o
/home/malekalmorte/qemu-0.7.2/target-i386/op.c
/home/malekalmorte/qemu-0.7.2/target-i386/ops_sse.h:
In function 'op_pshufw_mmx':
/home/malekalmorte/qemu-0.7.2/target-i386/ops_sse.h:574:
erreur: unable to find a register to spill in class 'GENERAL_REGS'
/home/malekalmorte/qemu-0.7.2/target-i386/ops_sse.h:574:
erreur: ceci est le insn:
(insn:HI 18 17 19 0
/home/malekalmorte/qemu-0.7.2/target-i386/ops_sse.h:569 (set
(strict_low_part (subreg:HI (reg/v:DI 63 [ r ]) 0))
(mem/s/j:HI (plus:SI (mult:SI (reg:SI 64)
(const_int 2 [0x2]))
(reg/v/f:SI 59 [ s ])) [0 <variable>._w S2 A16])) 52
{*movstricthi_1} (insn_list:REG_DEP_TRUE 16 (insn_list:REG_DEP_TRUE 12
(insn_list:REG_DEP_TRUE 53 (nil))))
(expr_list:REG_DEAD (reg:SI 64)
(nil)))
/home/malekalmorte/qemu-0.7.2/target-i386/ops_sse.h:574:
embrouillé par les erreurs
précédentes, abandon
Cela vient du fait, que vous tentez de compiler qemu avec gcc-4.0.
tentez de compiler avec l'option --cc=gcc-3.3
Sur une Debian/ubuntu, vous pouvez aussi refaire le lien symbolique
/usr/bin/gcc en pointant sur /usr/bin/gcc-3.3
ln
-s /usr/bin/gcc-3.3 /usr/bin/gcc
Captures de qemu :
ici
Retour à la page
d'accueil