| Auteur | Sujet: qemu : réseau avec un hôte linux mdk |
|---|---|
jamaique 7 messages | Posté le 25/05/2005 à 17:45:45 Bonjour,Et d'abord bravo pour le superbe tutoriel sur qemu. Ca marche super. Sous Mandrake 10.1, j'ai installé le rpm trouvé sur http://dag.wieers.com/packages/qemu/ Ensuite j'ai installé win Me sans pb sur un disque cow de 10 Go (pour voir). Jusque là tout va bien. Lancement dans le répertoire où se trouve le disque virtuel par cd ~/WinMe qemu -hda c.img -m 128 -boot c -localtime -user-net La machine guest accède correctement à internet winscp permet d'aller "pêcher" les fichiers que je veux sur l'hôte en me connectant sur l'ip 10.0.2.2 avec mon nom d'utilisateur + mot de passe linux mais le guest n'a pas de voisinage réseau. Ma question: comment faire pour qu'un programme sur le guest utilise un fichier (ou une ressource comme l'imprimante ou autre...) du host ? Mes essais: Depuis le guest, un ping 10.0.2.2 marche Mais impossible d'avoir un voisinage réseau. J'ai essayé de lancer tuntap: # modprobe tun # lsmod |grep tun tun # Donc le module est là. J'ai configuré sudo pour ifconfig (et vérifié à la main que sudo ifconfig marche) et copié qemu-ifup dans /etc Si je fais $ cd ~/WinMe $ qemu -hda c.img j'ai la réponse "pas de device tun0"... Un ifconfig sur le host me donne eth0 (ma carte physique pour l'accès internet numéricable) avec une adresse ip et lo Un ipconfig sur mon guest me donne une carte 0 ip = 10.0.2.15 / 255.255.255.0 une carte 1 ip = 0.0.0.0 / 0.0.0.0 Quelqu'un sait-il comment mettre en place un vrai partage de ressources entre les machines ? Je sais, cela n'est sans dout pas fondamental, mais je suis curieux de nature et j'aimerais trouver... Autre chose: peut-on accéder à une clé usb depuis le guest et comment ? Merci d'avance. Peut-être cela vaudrait un tuto si on trouve ? |
collinm 49 messages | Posté le 18/05/2005 à 16:40:07 tu dois installer le package vde (virtual private network)
regarde ensuite si avec ifconfig tu vois le périphérique tun avec son ip cet ip servira de passerelle pour ton guest on veut que cette passerelle envoit les paquets à la carte réseau (eth0)
tu peux ensuite démarré l'install de qemu avec vde... vdeqemu -hda hd.img IP: 192.168.254.X subnetmask: 255.255.255.0 gateway:192.168.254.254 (le périphérique tun) pour ta clé usb, j'ai déjà vu une patch en pré-alpha, mais c'était impossible de rien faire rouler encore... donc c'est pas demain la veille que ça fonctionnera déjà que c'est pas la panacée de faire fonctionner des périphériques sur le port série, ta tu déjà réussi à le faire? j'espère que tu utilises kqemu pour avoir de meilleur performance? dommage que ça fonctionne pas encore avec win9x |
jamaique 7 messages | Posté le 20/05/2005 à 20:55:35 Je vais essayer...Je n'utilise pas kqemu pour la simple raison que je n'arrive pas à compiler. Voici ce que je viens d'essayer pour la nième fois: $ md ~/src $ cd src $ md qemu $ cd qemu $ cvs -z3 -d:ext:anoncvs@savannah.gnu.org:/cvsroot/qemu co qemu Warning: Permanently added 'savannah.gnu.org,199.232.41.3' (RSA) to the list of known hosts. cvs checkout: Updating qemu ... ... (pas d'erreur) Ici, j'ai chargé kqemu-0.6.2-1.tar.gz dans ~/src/qemu Puis je l'ai décompressé sur place. Cela a créé un sous-répertoire ~/src/qemu/kqemu Ensuite, j'ai essayé de compiler en tant que user comme décrit dans le tuto jqemu. Ca ne marche pas. $ ./configure --target-list=i386-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 /home/nicolas/src/qemu C compiler gcc make make host CPU i386 host big endian no target list i386-softmmu gprof enabled no static build no SDL support no mingw32 support no Adlib support no FMOD support no kqemu support yes KQEMU Linux module configuration: kernel sources /usr/src/linux kbuild type 2.4 [nicolas@localhost qemu]$ make gcc -Wall -O2 -g -fno-strict-aliasing -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -o dyngen dyngen.c gcc -DQEMU_TOOL -Wall -O2 -g -fno-strict-aliasing -g -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -o qemu-img qemu-img.c block.c block-cow.c block-qcow.c aes.c block-vmdk.c block-cloop.c block-dmg.c block-bochs.c block-vpc.c block-vvfat.c -lz texi2html -monolithic -number qemu-doc.texi make: texi2html : commande introuvable make: *** [qemu-doc.html] Erreur 127 [nicolas@localhost qemu]$ Que se passe-t-il ? Merci jamaique |
jamaique 7 messages | Posté le 20/05/2005 à 21:01:52 Et encore: où trouver ce package vde?Existe-t-il en rpm? En tout cas, je ne le trouve pas sur mes serveurs urpmi... jamaique |
collinm 49 messages | Posté le 21/05/2005 à 16:07:54 sur google tape: virtual private network vpe rpmpour kqemu c'est le makefile de qemu qu'il faut exécuter... et non celui de kqemu... je sais pas lequel tu as fait... pour ton erreur, c'est assez claire, il faut que tu installe: texi2html |
jamaique 7 messages | Posté le 21/05/2005 à 17:12:11 j'avance.j'ai trouvé vde sous forme de tar.gz sur sourceforge. un ./config + make + make install a marché. A propos, pour le désinstaller, ce serait make uninstall ? pour kqemu, j'utilise le makefile de qemu. J'ai installé texi2html et l'erreur a disparu. Mais j'en ai une autre: (...) make[1]: Leaving directory `/home/nicolas/src/qemu/x86_64-softmmu' make -C kqemu make[1]: Entering directory `/home/nicolas/src/qemu/kqemu' make -C /usr/src/linux SUBDIRS=`pwd` modules make[2]: Entering directory `/usr/src/linux-2.4.27-0.pre2.1mdk' The present kernel configuration has modules disabled. Type 'make config' and enable loadable module support. Then build a kernel with module support enabled. make[2]: *** [modules] Erreur 1 make[2]: Leaving directory `/usr/src/linux-2.4.27-0.pre2.1mdk' make[1]: *** [kqemu.o] Erreur 2 make[1]: Leaving directory `/home/nicolas/src/qemu/kqemu' make: *** [all] Erreur 2 [nicolas@localhost qemu]$ Qu'est-ce que ce make config qu'il faut faire ? et comment autoriser le support des modules. Je croyais l'avoir... Vais-je devoir recompiler mon kernel linux ? |
jamaique 7 messages | Posté le 21/05/2005 à 17:23:51 pour vde:voici ce que ca donne: [root@localhost qemu]# modprobe tun [root@localhost qemu]# vde_switch -tap tun -daemon [nicolas@localhost qemu]$ vde_switch -tap tun -daemon [nicolas@localhost qemu]$ ifconfig tun 192.168.254.12 [root@localhost qemu]# ifconfig tun 192.168.254.12 SIOCSIFADDR: No such device tun: interface inconnue: No such device [root@localhost qemu]# ifconfig tun0 192.168.254.12 SIOCSIFADDR: No such device tun0: interface inconnue: No such device [root@localhost qemu]# Apparemment, il reste un problème... Et pourtant, le lsmod me montre le module tun... |
collinm 49 messages | Posté le 22/05/2005 à 04:09:58 il faudrait que tu aies un kernel 2.6... car le 2.4 date un peuj'ai jamais testé vde et qemu sur ce kernel là |
jamaique 7 messages | Posté le 22/05/2005 à 09:14:27 J'ai compris le pb: je n'avais pas le bon kernel-source:Mon kernel est: $ uname -sr Linux 2.6.8.1-12mdk et j'ai donc installé les sources correspondantes. Du coup la compil se fait bien. (configure, make, make install) Mais qemu ne se lance toujours pas: [nicolas@localhost WinMe]$ qemu -hda c.img warning: could not open /dev/net/tun: no virtual network emulation Could not open '/dev/kqemu' - QEMU acceleration layer not activated [nicolas@localhost WinMe]$ |
collinm 49 messages | Posté le 22/05/2005 à 20:16:50 pour les win9x dont winme fait partie, faut faireqemu -hda hd.img -boot c -user-net -no-kqemu pour que qemu démarre... kqemu supporte pas encore ces os là mais là ton installation de qemu fonctionne pas? ou tu essaies de repartir à neuf? j'ai déjà obtenu ton warning à cause que j'étais pas root |
jamaique 7 messages | Posté le 22/05/2005 à 22:40:31 J'essaie de repartir à neuf en compilant et, même en faisantqemu -hda c.img -no-kqemu qemu ne démarre pas. Le qemu qui marchait, je l'avais trouvé sur les rpms du site dag et installé par urpmi tout simplement. Ca m'énerve de ne pas savoir compiler qemu et de le faire marcher! J'ai fait tout comme root (configure, make et make install) |
collinm 49 messages | Posté le 25/05/2005 à 17:45:45 regarde si /dev/net/tun existesi tu l'as pas essaye: mkdir -p /dev/net mknod /dev/net/tun c 10 200 modprobe tun echo 'tun' >> /etc/modules change les permissions chgrp users /dev/net/tun chmod g+w /dev/net/tun ensuite tu dois donner une adresse: ifconfig tun0 10.0.0.1 up ensuite tu configures iptable iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE echo "1" >/proc/sys/net/ipv4/ip_forward |
