
qemu v11.1.0
Mirror ufficiale di QEMU. Consultare https://www.qemu.org/contribute/ per sapere come inviare modifiche a QEMU. Le Pull Requests sono disabilitate. Si prega di utilizzare solo i tarball delle release dal sito web di QEMU.
QEMU README
QEMU è un emulatore e virtualizzatore generico e open source per macchine e spazio utente.
QEMU è in grado di emulare una macchina completa via software senza alcuna necessità di supporto hardware per la virtualizzazione. Tramite la traduzione dinamica, raggiunge prestazioni molto buone. QEMU può anche integrarsi con gli hypervisor Xen e KVM per fornire hardware emulato, lasciando all'hypervisor la gestione della CPU. Con il supporto dell'hypervisor, QEMU può raggiungere prestazioni vicine a quelle native per le CPU. Quando QEMU emula direttamente le CPU, è in grado di eseguire sistemi operativi progettati per una macchina (ad esempio una scheda ARMv7) su una macchina diversa (ad esempio una scheda x86_64 PC).
QEMU è anche in grado di fornire la virtualizzazione delle API dello spazio utente per le interfacce del kernel Linux e BSD. Ciò consente di eseguire binari compilati per l'ABI di una architettura (ad esempio l'ABI Linux PPC64) su un host che utilizza un'ABI di architettura diversa (ad esempio l'ABI Linux x86_64). Ciò non comporta alcuna emulazione hardware, ma semplicemente emulazione della CPU e delle syscall.
QEMU mira ad adattarsi a una varietà di casi d'uso. Può essere invocato direttamente dagli utenti che desiderano il pieno controllo del suo comportamento e delle sue impostazioni. Mira inoltre a facilitare l'integrazione in livelli di gestione superiori, fornendo un'interfaccia a riga di comando e un'API di monitoraggio stabili. Viene comunemente invocato indirettamente tramite la libreria libvirt quando si utilizzano applicazioni open source come oVirt, OpenStack e virt-manager.
QEMU nel suo complesso è rilasciato sotto la GNU General Public License, versione 2. Per i dettagli completi sulla licenza, consultare il file LICENSE.
Documentazione
La documentazione è disponibile online all'indirizzo
<https://www.qemu.org/documentation/>. La documentazione per l'attuale versione di sviluppo disponibile all'indirizzo
<https://www.qemu.org/docs/master/> è generata dalla cartella docs/
nell'albero dei sorgenti e viene compilata con Sphinx <https://www.sphinx-doc.org/en/master/>_.
Compilazione
QEMU è un software multi-piattaforma progettato per essere compilabile su tutte le moderne piattaforme Linux, OS-X, Win32 (tramite la toolchain Mingw64) e una varietà di altri target UNIX. I semplici passaggi per compilare QEMU sono:
.. code-block:: shell
mkdir build cd build ../configure make
Ulteriori informazioni sono disponibili online tramite il sito web di QEMU:
<https://wiki.qemu.org/Hosts/Linux>_<https://wiki.qemu.org/Hosts/Mac>_<https://wiki.qemu.org/Hosts/W32>_
Invio di patch
Il codice sorgente di QEMU è mantenuto sotto il sistema di controllo versione GIT.
.. code-block:: shell
git clone https://gitlab.com/qemu-project/qemu.git
Quando si inviano patch, un approccio comune è utilizzare 'git format-patch' e/o 'git send-email' per formattare e inviare la mail alla mailing list [email protected]. Tutte le patch inviate devono contenere una riga 'Signed-off-by' dell'autore. Le patch devono seguire le linee guida stabilite nella sezione sullo stile <https://www.qemu.org/docs/master/devel/style.html>_ della
Guida per sviluppatori.
Ulteriori informazioni sull'invio di patch sono disponibili online tramite il sito web di QEMU:
<https://wiki.qemu.org/Contribute/SubmitAPatch>_<https://wiki.qemu.org/Contribute/TrivialPatches>_
Anche il sito web di QEMU è mantenuto sotto controllo versione.
.. code-block:: shell
git clone https://gitlab.com/qemu-project/qemu-web.git
<https://www.qemu.org/2017/02/04/the-new-qemu-website-is-up/>_
È stato creato un utile strumento 'git-publish' per rendere il processo di cui sopra meno macchinoso ed è fortemente consigliato per contributi regolari, o anche solo per inviare revisioni consecutive di serie di patch. Richiede anche una configurazione funzionante di 'git send-email' e, per impostazione predefinita, non automatizza tutto, quindi potrebbe essere necessario eseguire manualmente i passaggi sopra indicati almeno una volta.
Per le istruzioni di installazione, visitare:
<https://github.com/stefanha/git-publish>_
Il flusso di lavoro con 'git-publish' è:
.. code-block:: shell
$ git checkout master -b my-feature $ # lavora su nuovi commit, aggiungi le righe 'Signed-off-by' a ciascuno $ git publish
La serie di patch verrà inviata e contrassegnata come my-feature-v1 se necessario farvi riferimento in futuro.
Invio di v2:
.. code-block:: shell
$ git checkout my-feature # stesso ramo topic $ # apporta modifiche ai commit (ad esempio usando 'git rebase') $ git publish
La serie di patch verrà inviata con il tag 'v2' nell'oggetto e il git tip sarà contrassegnato come my-feature-v2.
Segnalazione di bug
Il progetto QEMU utilizza GitLab Issues per tracciare i bug. I bug trovati durante l'esecuzione del codice compilato dal git di QEMU o dalle sorgenti delle release upstream devono essere segnalati tramite:
<https://gitlab.com/qemu-project/qemu/-/issues>_
Se si utilizza QEMU tramite un pacchetto binario precompilato da un fornitore di sistema operativo, è preferibile segnalare i bug prima al proprio tracker di bug del fornitore. Se il bug è noto anche per interessare il codice upstream più recente, può anche essere segnalato tramite GitLab.
Per ulteriori informazioni sulla segnalazione di bug, consultare:
<https://wiki.qemu.org/Contribute/ReportABug>_
ChangeLog
Per la cronologia delle versioni e le note di rilascio, visitare
<https://wiki.qemu.org/ChangeLog/>_ o consultare la cronologia git per
informazioni più dettagliate.
Contatti
La comunità di QEMU può essere contattata in diversi modi, con i due metodi principali che sono email e IRC:
<mailto:[email protected]>_<https://lists.nongnu.org/mailman/listinfo/qemu-devel>_- #qemu su irc.oftc.net
Informazioni su ulteriori metodi per contattare la comunità possono essere trovate online tramite il sito web di QEMU:
<https://wiki.qemu.org/Contribute/StartHere>_