Qemu est un émulateur et un virtualiseur génériques et open source et d'espace utilisateur.
Qemu est capable d'émuler une machine complète dans un logiciel sans avoir besoin de support de virtualisation matérielle. En utilisant une traduction dynamique, il réalise de très bonnes performances. QEMU peut également s'intégrer aux hyperviseurs Xen et KVM pour fournir du matériel émulé tout en permettant à l'hyperviseur de gérer le CPU. Avec le support de l'hyperviseur, QEMU peut atteindre des performances natives proches pour les processeurs. Lorsque QEMU émule directement des processeurs, il est capable d'exécuter des systèmes d'exploitation fabriqués pour une machine (par exemple une carte ARMV7) sur une machine différente (par exemple une carte PC x86_64).
Qemu est également capable de fournir une virtualisation de l'API d'espace utilisateur pour les interfaces Linux et BSD du noyau. Cela permet aux binaires compilés contre une architecture ABI (par exemple le Linux PPC64 ABI) exécuté sur un hôte en utilisant une architecture différente ABI (par exemple le Linux X86_64 ABI). Cela n'implique aucune émulation matérielle, simplement CPU et émulation système.
Qemu vise à s'intégrer dans une variété de cas d'utilisation. Il peut être invoqué directement par les utilisateurs souhaitant avoir un contrôle total sur son comportement et ses paramètres. Il vise également à faciliter l'intégration dans les couches de gestion de niveau supérieur, en fournissant une interface de ligne de commande stable et en surveillant l'API. Il est généralement invoqué indirectement via la bibliothèque LibVirt lors de l'utilisation d'applications open source telles que OVIRT, OpenStack et Virt-Manager.
Qemu dans son ensemble est publié sous la licence publique générale GNU, version 2. Pour les détails complets des licences, consultez le fichier de licence.
La documentation peut être trouvée hébergée en ligne sur https://www.qemu.org/documentation/. La documentation de la version de développement actuelle disponible sur https://www.qemu.org/docs/master/ est générée à partir du docs/
dossier de l'arborescence source et est construite par Sphinx.
Qemu est un logiciel multi-plateforme destiné à être construit sur toutes les plates-formes Linux modernes, OS-X, Win32 (via la chaîne d'outils MingW64) et une variété d'autres cibles UNIX. Les étapes simples pour construire Qemu sont:
mkdir build
cd build
../configure
make
Des informations supplémentaires peuvent également être trouvées en ligne via le site Web QEMU:
Le code source QEMU est maintenu sous le système de contrôle de version GIT.
git clone https://gitlab.com/qemu-project/qemu.git
Lors de la soumission des correctifs, une approche commune consiste à utiliser «Git Format-Patch» et / ou «Git Send-Email» pour formater et envoyer le courrier à la liste de diffusion [email protected]. Tous les correctifs soumis doivent contenir une ligne «signée par» de l'auteur. Les correctifs doivent suivre les directives définies dans la section de style du Guide des développeurs.
Des informations supplémentaires sur la soumission des correctifs peuvent être trouvées en ligne via le site Web de Qemu:
Le site Web Qemu est également maintenu sous le contrôle source.
git clone https://gitlab.com/qemu-project/qemu-web.git
Un utilitaire «Git-Publish» a été créé pour rendre ci-dessus le processus moins lourd, et est fortement recommandé pour faire des contributions régulières, ou même simplement pour envoyer des révisions consécutives de la série de patchs. Il nécessite également une configuration de travail «Git Send-Email» et, par défaut, n'automatise pas tout, vous voudrez peut-être passer par les étapes ci-dessus manuellement pour une fois.
Pour les instructions d'installation, veuillez consulter:
Le workflow avec «git-publish» est:
$ git checkout master -b my-feature
$ # work on new commits, add your 'Signed-off-by' lines to each
$ git publish
Votre série de correctifs sera envoyée et taguée sous forme de-Feture-V1 si vous devez vous y référer à l'avenir.
Envoi V2:
$ git checkout my-feature # same topic branch
$ # making changes to the commits (using 'git rebase', for example)
$ git publish
Votre série de correctifs sera envoyée avec une balise «V2» dans le sujet et la pointe GIT sera étiquetée comme mon-Feure-V2.
Le projet QEMU utilise des problèmes GitLab pour suivre les bogues. Les bogues trouvés lors de l'exécution du code construit à partir de Qemu Git ou des sources publiées en amont doivent être signalées via:
Si vous utilisez QEMU via un package binaire pré-construit du fournisseur de système d'exploitation, il est préférable de signaler d'abord les bogues au propre tracker de bogues du fournisseur. Si le bogue est également connu pour affecter le dernier code en amont, il peut également être signalé via GitLab.
Pour plus d'informations sur les rapports de bogues Consulter:
Pour l'historique des versions et les notes de publication, veuillez visiter https://wiki.qemu.org/changelog/ ou consulter l'historique GIT pour des informations plus détaillées.
La communauté Qemu peut être contactée de plusieurs façons, les deux méthodes principales étant le courrier électronique et l'IRC:
Des informations sur les méthodes supplémentaires de contact de la communauté peuvent être trouvées en ligne via le site Web de Qemu: