E foi lançado o QEMU 7.2 com várias melhorias e correções, e mais. Confira as novidades e veja como instalar esse emulador no Linux.
QEMU é um programa de código aberto que pode ser usado como emulador de máquina e virtualizador genérico. Ele pode emular um processador e, em geral, uma arquitetura diferente, se necessário.
QEMU permite que você execute um ou mais sistemas operacionais (e seus aplicativos) isoladamente através de hipervisores como KVM e Xen, ou simplesmente binário, no ambiente de um sistema operacional já instalado na máquina.
O QEMU permite virtualização sem emulação, se o sistema convidado usa o mesmo processador que o sistema host ou emula as arquiteturas dos processadores x86, ARM, PowerPC, Sparc, MIPS1.
Ele funciona nas plataformas x86, x64, PPC, Sparc, MIPS, ARM e nos sistemas operacionais Linux, FreeBSD, NetBSD, OpenBSD, Mac OS X, Unix e Windows
Quando usado como um virtualizador, QEMU alcança perto de performances nativas, executando o código convidado diretamente na CPU hospedeira.
QEMU suporta a virtualização ao executar sob o hypervisor Xen ou usando o módulo do kernel KVM no Linux. Ao usar o KVM, QEMU pode virtualizar x86, servidor e embedded PowerPC, e S390 como convidado.
Agora, o QEMU 7.2 foi lançado como a versão mais recente desta importante peça da pilha de virtualização Linux de código aberto.
Novidades do QEMU 7.2
Sim. Foi anunciado o lançamento da nova versão do projeto QEMU 7.2, uma versão em que foram adicionadas várias melhorias de suporte aos diferentes emuladores e das quais a mais destacada é a implementação de ‘virt’ em OpenRISC, bem como melhorias para ARM e mais.
Esta nova versão do QEMU contém mais de 1800 commits de 205 autores
No QEMU 7.2, destaca-se que o suporte para instruções AVX, AVX2, F16C, FMA3 e VAES foi adicionado ao emulador de arquitetura x86 no clássico gerador de código TCG, bem como otimizações de desempenho relacionadas ao uso de instruções SSE .
Outra das mudanças que se destaca é que o emulador ARM agora suporta CPU Cortex-A35 e extensões de processador ETS (Enhanced Translation Synchronization), PMUv3p5 (PMU Extensions 3.5), GTG (Guest Translation Granule 4KB, 16KB, 64KB), HAFDBS e E0PD (EL0 Prevenção de Acesso a Mapas de Endereço Compartilhado).
Além disso, o emulador de arquitetura OpenRISC implementa a plataforma ‘virt’ para teste de dispositivos e uso em sistemas de integração contínua. Suporte implementado para execução multi-thread do clássico gerador de código TCG (Tiny Code Generator).
O emulador de arquitetura RISC-V em máquinas ‘virt’ emuladas agora tem a capacidade de inicializar o firmware a partir do pflash no modo S, enquanto o emulador LoongArch adiciona suporte para fw_cfg DMA, hot plugging de memória e emulação de dispositivo TPM (Trusted Platform Module).
O emulador de arquitetura 390x fornece suporte para a extensão MSA5 (Message-Security-Assist Extension 5 com instrução PRNO para gerar números pseudo-aleatórios), instruções KIMD/KLM (uma implementação de SHA-512) e interpretação estendida de zPCI para convidados com base no Hipervisor KVM.
Adicionado suporte para o mecanismo de rastreamento de saída KVM (“notificar vmexit”) para evitar erros de CPU que podem causar uma falha.
Das outras mudanças que se destacam nesta no QEMU 7.2, temos:
- Os back-ends para trabalhar com memória fornecem pré-alocação de memória, levando em consideração a arquitetura NUMA.
- Trabalho aprimorado com a árvore de dispositivos
- Verificação aprimorada dos cabeçalhos do dispositivo cipherblock LUKS, adicionada a capacidade de criar imagens LUKS no macOS.
- No backend 9pfs, que permite usar o sistema de arquivos de rede Plan 9 para acessar de uma máquina virtual para outra, mudou para usar o hash GHashTable na tabela de identificadores, o que em algumas situações levou a um aumento de desempenho de 6 a 12 vezes.
- Adicionados novos back-ends netdev e dgram.
- O suporte para FreeBSD foi adicionado ao agente convidado ARM.
- Compilações de GUI para macOS fornecem a capacidade de incluir interfaces baseadas em Cocoa e SDL/GTK em um único arquivo executável.
- Removido o submódulo interno slirp, é recomendado usar a biblioteca do sistema libslirp.
- Devido à falta de capacidade de teste, o suporte para hosts MIPS de 32 bits usando a ordem de bytes Big Endian foi preterido.
- Os binários qemu-i386 e qemu-x86_64 agora são padronizados para o modelo de CPU ‘max’ em vez de ‘qemu32’ / ‘qemu64’
- Suporte para salvar/restaurar registros SSE em quadros de sinal no qemu-i386 (quando FXSR é definido como CPUID)
- Suporte para salvar/restaurar o estado XSAVE em quadros de sinal (quando XSAVE é definido como CPUID)
Mais detalhes sobre as mudanças a serem encontradas com o QEMU 7.2 podem ser encontrados no Wiki do QEMU.org.
Como instalar ou atualizar
Para os interessados em instalar esta nova versão, eles podem encontrá-la nos canais oficiais de sua distribuição Linux, já que o projeto tem uma grande popularidade. Basta usar o seu gerenciador de pacotes para instalar a partir de um terminal.
Essa versão do QEMU pode ser baixada em QEMU.org.
E para instalar a versão mais recente do QEMU nas principais distribuições Linux, use esses tutoriais:
Como instalar o virtualizador QEMU no Linux via Snap
Como instalar o QEMU no Ubuntu e gerenciar ele com o Virt Manager
Como instalar o QEMU PowerPC no Linux via AppImage