Journal Qemu 0.7.2

Posté par  (site web personnel) .
Étiquettes : aucune
0
11
sept.
2005
La dernière version de Qemu est sorti le 4 septembre. La précédente version était de fin-juillet. Les portables ont donc servi sur la plage au mois d'août ;-)

Pour ceux qui ne connaissent pas, qemu permet d'émuler une machine virtuelle. Mais il peux faire plus, par exemple exécuter sous un PowerPC des applications win32 sous wine (donc conçu pour le processeur de la famille IA32).

Pas mal de bogues corrigés au programme et une amélioration des performances réseaux.

A noter que le module d'accélération non libre kqemu est lui aussi mis à jour. Ce module est fantastique pour qui utilise un Windows émulé sous Linux.

Par exemple, la commande suivante se connecte à mon serveur "qemu" et lance en lecture seule une image windows. Cette image est une version en sommeil de Windows donc le démarrage est rapide. Pas besoin de fermer Windows, un "Controle C" suffit ! Virus et Vers, passés votre chemin...

ssh -tCX server qemu -m 512 -snapshot /qemu/windows.img

Le lien vers le site principal et le journal de fin-juillet sur la version 0.7.1

http://fabrice.bellard.free.fr/qemu/index.html(...)
http://linuxfr.org/~Yann012/18930.html(...)

Les petits "ChangeLog" entre la version 0.7.1 et cette version pour finir.

qemu version 0.7.2:

- x86_64 fixes (Win2000 and Linux 2.6 boot in 32 bit)
- merge self modifying code handling in dirty ram page mecanism.
- MIPS fixes (Ralf Baechle)
- better user net performances

kqemu version 0.7.2:

- more precise segmentation support (aka Win98 support)
- new API to track dirty RAM pages
- CR4.TSD support
- SYSENTER fix for x86_64
- (Linux) added 'max_instances' module parameter
- (win32) cpu interruption support (Filip Navara)
- (win32) kqemu.inf installation file (Filip Navara)
- IOPL restore fix (aka xen bug)
  • # GNU/Hurd

    Posté par  . Évalué à 7.

    Qemu est aussi un moyen très sympathique (même si lent) d'installer GNU/Hurd, pour par exemple porter des programmes.

    Snark
  • # yo

    Posté par  (site web personnel) . Évalué à 2.

    comment créé tu cette " image (version en sommeil de Windows)" ?
    (j'ai bien tenté le savewm en mode console, mais le loadvm a mis vachement de temps, sans y arrivé)

    sinon, est-ce que qqu'un arrive à utiliser le port parallel ? (j'aimerai bien scanner sous win)
    j'ai pas franchement l'impression que ça marche ...
    • [^] # Re: yo

      Posté par  (site web personnel) . Évalué à 2.

      Il suffit simplement de mettre windows en veillle plutôt que de l'arréter. La première fois, on le fait sans l'option snapshot, de même que les fois où l'on désire installer d'autres logiciels. En temps normal, je ne travaille jamais sur le disque dur local à la machine. Une image en lecture seule est largement suffisante.

      Sinon, il est vrai que pour tester certains développements, c'est vachement pratique. Pour le moment, j'y teste personnellement mes scripts .bat d'installation automatique ;-)

      Dommage que le port USB ne fonctionne pas encore ;-( J'ai besoin pour le boulot d'un client qui utilise ma webcam !
      • [^] # Re: yo

        Posté par  (site web personnel) . Évalué à 2.

        entre temps, je m'en suis douté
        cependant, dans mon w2k virtuel, j'ai pas l'option "mise en veille"
        mais j'ai reessayé avec savevm/loadvm, ça marche parfaitement, c'est instantané ...

        moi aussi je l'utilise pour faire des tests d'installations, c'est vraiment trop bien le mode snapshot/commit !

        sinon le port parallel ? qqu'un ?
        • [^] # Re: yo

          Posté par  (site web personnel) . Évalué à 2.

          Mon Win2k n'as jamais passé l'installation complète. Il faut que j'essaye avec cette version. J'ai eu un CD de XP qui a eu la chance de ne pas bloquer à l'installation.

          Faut que je tente de nouveau 2000 car les deux ne se comportent pas toujours de la même manière.
          • [^] # Re: yo

            Posté par  (site web personnel) . Évalué à 2.

            y a un commutateur "-win2k-hack" (plus tout à fait sure du nom) spécial pour l'installation de w2k !!! car w2k a un bug a l'install
            • [^] # Re: yo

              Posté par  (site web personnel) . Évalué à 2.

              De tête, ca ressemble à ça... Cependant, mes différents CD avec leur licences "corporate" n'ont pas marché ;-( L'installation bloque toujours au même niveau.
            • [^] # Re: yo

              Posté par  (site web personnel) . Évalué à 1.

              Hello,

              j'ai installé win2k sous qemu (version de la Debian Sarge) et je n'ai pas eu de problème pour l'installer ! C'était assez lent (en gros 3-4H sur un PIV 2,4) et j'ai utilisé un CD d'install en mode unattended. Petite précision: le support réseau de qemu était désactivé !
  • # Pour les ubuntuistes

    Posté par  . Évalué à 2.

    Installez libsdl-gfx1.2-dev pour pouvoir compiler qemu:

    http://forum.ubuntu-fr.org/viewtopic.php?id=8927(...)
    • [^] # Pour les debianeux

      Posté par  (site web personnel) . Évalué à 8.

      J'ai trouvé ici ou là des bouts de documentation mais il m'a manqué assez souvent un petit bout. Le réseau qui ne marche pas à cause d'un problème de pare-feu, le script ifup n'est pas installé...

      J'ai donc décidé d'écrire bêtement ma procédure et je vous la partage. Ca date de début juillet mais pas grand chose n'est à modifier...

      Je suis sous GNU/Linux Debian Sarge. A part les quelques commandes sur les paquetages Debian, le reste doit-être quasiment identique sous une autre distribution.

      ----------------------------
      --- Installation de qemu ---
      ----------------------------

      Récuperation de la dernière snapshot de qemu sur

      http://www.dad-answers.com/qemu/

      Par exemple, le fichier

      qemu-snapshot-2005-07-07_23.tar.bz2

      Ce qui peux se faire avec l'uniligne

      wget http://www.dad-answers.com/qemu/qemu-snapshot-2005-07-07_23.tar.bz2

      On extrait les fichiers de l'archive

      tar xvjf qemu-snapshot-2005-07-07_23.tar.bz2

      Récuperation de kqemu sur

      http://fabrice.bellard.free.fr/qemu/download.html

      par exemple le fichier

      kqemu-0.6.2-1.tar.gz

      Ce qui peux se faire avec l'uniligne

      wget http://fabrice.bellard.free.fr/qemu/kqemu-0.6.2-1.tar.gz

      On extrait les fichiers dans le dossier qemu-snapshot-2005-07-07_23

      cd qemu-snapshot-2005-07-07_23
      tar xvzf ../kqemu-0.6.2-1.tar.gz

      Récuperation des en-tête du noyau (2.4) ou des sources du noyau (2.6). On met le lien à jour vers linux et on change les droits pour qu'un utilisateur lambda puisse modifier les sources !

      sux
      aptitude install kernel-headers-2.4.27-2-686
      cd /usr/src
      rm -f linux
      ln -s kernel-headers-2.4.27-2-686 linux
      chmod -R ugo+rwX kernel-headers-2.4.27-2-686
      chmod -R ugo+rwX kernel-headers-2.4.27-2

      On installe les paquets qui manque généralement et on vire le paquet qemu qui gêne.

      sux
      aptitude install libsdl1.2-dev uml-utilities texi2html sudo
      aptitude purge qemu

      On retourne en utilisateur lambda dans son dossier qemu

      cd qemu-snapshot-2005-07-07_23
      ./configure

      On doit avoir la ligne SDL et kqemu à 'yes'.

      make

      On retourne sous le compte root pour faire l'installation et bidouiller un fichier système qui manque ensuite (si on veut le réseau) et on installe de nouveau les sources propres

      sux
      make install

      echo '#!/bin/sh' > /etc/qemu-ifup
      echo 'sudo -p "Password for $0:" /sbin/ifconfig $1 172.20.0.1' >> /etc/qemu-ifup
      chmod a+rx /etc/qemu-ifup

      aptitude reinstall kernel-headers-2.4.27-2-686 kernel-headers-2.4.27-2

      On fait de même avec sudo. Lancer en root la commande

      sux
      grep -q '%users ALL = NOPASSWD: /sbin/ifconfig tun0 172.20.0.1' /etc/sudoers || echo '%users ALL = NOPASSWD: /sbin/ifconfig tun0 172.20.0.1' >> /etc/sudoers
      /etc/init.d/sudo start

      Activer le port forwarding dans le noyau. Mettre les bonnes règles pour faire du NAT.

      sux
      grep -q 'net/ipv4/ip_forward=1' /etc/sysctl.conf || echo 'net/ipv4/ip_forward=1' >> /etc/sysctl.conf
      sysctl -p

      /sbin/iptables -A INPUT -i tun0 -j ACCEPT
      /sbin/iptables -A OUTPUT -o tun0 -j ACCEPT
      /sbin/iptables -A FORWARD -i tun0 -j ACCEPT
      /sbin/iptables -A FORWARD -o tun0 -j ACCEPT
      /sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
      /sbin/iptables -A FORWARD -s 172.20.0.0/24 -i tun0 -o eth0 -p tcp -j ACCEPT

      On peux sauver les règles iptables pour un prochain reboot

      sux
      /etc/init.d/iptable save active

      On charge les modules noyaux

      sux
      modprobe kqemu
      modprobe tun

      Ou pour garder apres un reboot (noyau 2.4)

      sux
      grep -q 'kqemu' /etc/modules || echo 'kqemu' >> /etc/modules
      grep -q 'tun' /etc/modules || echo 'tun' >> /etc/modules

      Si cela marche pas, il peux manquer le périphérique kqemu. Normalement, l'installation doit avoir tout fait.

      sux
      mknod /dev/kqemu c 250 0
      chmod 666 /dev/kqemu
      • [^] # Smb

        Posté par  . Évalué à 2.

        Sous sarge en emulant Windows NT. J'ai pas réussi à faire fonctionner l'option smb ou Samba. Si quelqu'un à des infos la dessus?
        • [^] # Re: Smb

          Posté par  (site web personnel) . Évalué à 2.

          #qemu
          -smb dir allow SMB access to files in 'dir' [-user-net]

          Avec la carte réseau activé.

          Sous windows, tu ouvre l'adresse \\10.0.2.2 qui correspond au firewall
          Tu accède ainsi à ton disque.

          « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • # Xen ?

    Posté par  (site web personnel) . Évalué à 2.

    qqn a déjà essayé Xen ?
  • # Vous en faites quoi ?

    Posté par  . Évalué à 4.

    Qu'est-ce que vous arrivez à faire tourner avec Qemu+kqemu ?
    En terme de performances, qu'est-ce que ça donne ?
    Est-ce que ça permet de faire tourner plus d'applications que wine (ou winex ou crossover ou je ne sais quelle autre dérivé) ?
    Quelle est l'occupation mémoire du bousin ?
    Le copier-coller fonctionne-t-il entre une appli sous Qemu et le reste de sa session X ?
    • [^] # Re: Vous en faites quoi ?

      Posté par  . Évalué à 2.

      >Est-ce que ça permet de faire tourner plus d'applications que wine (ou winex ou crossover ou je ne sais quelle autre dérivé) ?

      Corrigez moi si je me trompe, mais en *théorie*, Qemu ne permet-il pas de faire tourner toutes les applis Windows, s'il émule un système complet ?
      • [^] # Re: Vous en faites quoi ?

        Posté par  (site web personnel) . Évalué à 2.

        Presque toutes ! J'utilise un client lourd pour faire de la web-collaboration. Comme il n'y a pas de support USB, l'application ne peux pas fonctionner (pas de webcam). J'aurais aussi besoin du support son et microphone.

        Sinon, pour les autres applications, ca marche très très bien.
    • [^] # Re: Vous en faites quoi ?

      Posté par  . Évalué à 2.

      Par exemple, Autocad et Maple avec une rapidité honorable. Faire fonctionner ces soft avec wine est un cauchemar. J'ai même constaté que l'installation de windows NT était plus rapide, car tous les drivers sont déjà inclus contrairement avec un vrai pc.

      Bref, j'en croyais pas mes yeux. On m'aurait dit que je pouvai le faire avec un logicielle libre. Je l'aurai pas cru!
      • [^] # Re: Vous en faites quoi ?

        Posté par  . Évalué à 3.

        J'oubliais.

        Un interêt majeur des émulateurs, est de pouvoir faire fonctionner des logicielles bien après la fin de vie du hardware pour lequel il avait été conçu. Par exemple, windows NT.
        On pourra ainsi faire fonctionner un binnaire conçu il y à 15 ans dans 20 ans.
        • [^] # Re: Vous en faites quoi ?

          Posté par  . Évalué à 3.

          Ça fait super longtemps que les émulateurs existent, déjà sur mon atari j'avais un émulateur dos, et ce n'est pas pour autant que les entreprises se sont ruées dessus pour faire tourner leurs vieux softs.

          L'entreprise, elle évolue son logiciel quand la boîte qui le produit lui dit qu'elle arrête le support sur l'ancienne version. Sans compter qu'aucun émulateur ne pourra te garantir une compatibilité à 100% avec un système hardware orginal.

          Bref, c'est pratique est très sympa, mais ça reste tout de même assez limité.
  • # compile pas avec gcc 4.x

    Posté par  . Évalué à 1.

    alors sous mandriva cooker, il faut installer gcc-3.3.6 et taper :
    ./configure --cc=gcc-3.3.6 --host-cc=gcc-3.3.6

    et là, ça compile bien.
    • [^] # Re: compile pas avec gcc 4.x

      Posté par  . Évalué à 3.

      chez moi, un urpmi qemu kqemu a suffit pour que tout soit installé et fonctionnel :-)
      • [^] # Re: compile pas avec gcc 4.x

        Posté par  . Évalué à 1.

        kool ! mais moi, c'est pas la 0.6.2 que je veux, c'est la version cvs...

        d'autant plus que j'utilise mandriva cooker ppc.
  • # Port //

    Posté par  . Évalué à 2.

    Quelqu'un c'est il pourquoi le port série est implémenté, mais pas le port //?

    Le port USB ça se comprend c'est tellement compliqué ce truc.
    • [^] # Re: Port //

      Posté par  (site web personnel) . Évalué à 2.

      Extrait de qemu -help :
      -serial dev     redirect the serial port to char device 'dev'
      -parallel dev   redirect the parallel port to char device 'dev'
      
      Qu'est-ce qui te fait dire que le port parallele n'est pas implémenté ?
      • [^] # Re: Port //

        Posté par  . Évalué à 2.

        Ce ne serait pas une nouveauté de la 0.7.2. Car il n'y en pas dans la doc sur le web.

        Par contre, je ne suis pas sur que l'on puisse faire fonctionner une imprimante. Comment se partage le port entre qemu/windows et Linux?
        • [^] # Re: Port //

          Posté par  (site web personnel) . Évalué à 2.

          Hum non je suis encore sur la 0.7.1 :)
          Je pense que tu dois pouvoir attribuer le port à qemu moyennant d'empecher linux de l'utiliser.
          • [^] # Re: Port //

            Posté par  (site web personnel) . Évalué à 2.

            tu m'interesses ;-)

            j'ai la 0.7.2 sous ubuntu, avec kqemu ... mais quand je tente d'utiliser le port parallel, ça dit ça :
            qemu: could not open parallel device '/dev/lp0'

            tu sous-entendrais dans ton post, qu'il faudrait empecher linux de l'utiliser pour le filer à qemu ...
            suis prêt à tester, mais je ne sais comment le retirer à linux (j'ai une imprimante configuré dessus)
            • [^] # Re: Port //

              Posté par  (site web personnel) . Évalué à 1.

              Salut,

              En fait j'ai contourné le problème....

              Mandrake 9.1 + samba + cups + Qemu (on partage l'imprimante)
              Virtuel WinNT + imprimante réseau (l'hôte virtuel y accède par le réseau)

              A+

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.