Como rodar o desktop Ubuntu no QEMU?

5

Eu instalei o Ubuntu 16.04 Desktop no QEMU, mas agora quando eu inicio com:

qemu-system-i386 -m 1024M -enable-kvm -drive file=./ubuntu-desktop.img,index=0,media=disk,format=raw

Eu vejo esta foto:

O que está acontecendo? Como posso consertar isso?

    
por BPS 18.02.2017 / 00:19

2 respostas

5

Configuração do Ubuntu 18.04

Testado em um host do Ubuntu 18.10.

ubuntu-18.04.1-desktop-amd64.sh

#!/usr/bin/envbashset-eux#Parameters.id=ubuntu-18.04.1-desktop-amd64disk_img="${id}.img.qcow2"
disk_img_snapshot="${id}.snapshot.qcow2"
iso="${id}.iso"

# Get image.
if [ ! -f "$iso" ]; then
  wget "http://releases.ubuntu.com/18.04/${iso}"
fi

# Go through installer manually.
if [ ! -f "$disk_img" ]; then
  qemu-img create -f qcow2 "$disk_img" 1T
  qemu-system-x86_64 \
    -cdrom "$iso" \
    -drive "file=${disk_img},format=qcow2" \
    -enable-kvm \
    -m 2G \
    -smp 2 \
  ;
fi

# Snapshot the installation.
if [ ! -f "$disk_img_snapshot" ]; then
  qemu-img \
    create \
    -b "$disk_img" \
    -f qcow2 \
    "$disk_img_snapshot" \
  ;
fi

# Run the installed image.
qemu-system-x86_64 \
  -drive "file=${disk_img_snapshot},format=qcow2" \
  -enable-kvm \
  -m 2G \
  -smp 2 \
  -soundhw hda \
  -vga virtio \
  "$@" \
;

GitHub upstream .

Este script fará duas execuções no QEMU:

  • primeiro uma execução de instalação. Obtém kipped se já feito.
  • então uma inicialização regular

A primeira vez que o QEMU aparece

  • Instalar o Ubuntu
  • continue, continue, continue ...
  • aguarde alguns minutos
  • no final "Reiniciar agora"
  • agora você pode fechar a janela do QEMU

O instalador é assim:

Apósaconclusãodainstalação,oscripttiraautomaticamenteuminstantâneoeiniciaumainicializaçãonormal.

Semprequevocêquiservoltarparaainstalaçãooriginal,bastaremoveroinstantâneoeexecutarnovamenteoscript:

rmubuntu-18.04-desktop-amd64.snapshot.qcow2./ubuntu-18.04.1-desktop-amd64.sh

eoinstantâneoserágeradonovamenteapartirdainstalaçãolimpa.

Oinstantâneoarmazenaapenasosdiffsentreaimagemoriginale,portanto,nãoocupamuitoespaçoemdisco.

Estaconfiguraçãotem,porpadrão,umsistemamodernoqueredimensionaautomaticamentearesoluçãodoconvidadoparamelhorseadequaraotamanhodajaneladoQEMU,apenas:

  • arrasteajanelacomomouse
  • alternaatelacheiacomCtrl+Alt+FououiniciaoQEMUcom-full-screen

Notas:

    Aopção
  • -vgavirtiodevesercapazdeobterresoluçõesmaisaltas: link Alternar tela cheia com:

  • -soundhw hda ativa o som. Por que o QEMU não habilita por padrão me bate.

  • Uma vez dentro da VM, reduza o tempo de espera do menu do GRUB e mostre algumas mensagens de inicialização para a próxima inicialização com:

    printf 'GRUB_TIMEOUT=1\nGRUB_CMDLINE_LINUX_DEFAULT=""\n' | sudo tee -a /etc/default/grub
    sudo update-grub
    
  • Compartilhamento de área de transferência TODO:

    Tentei -spice port=5930,disable-ticketing + remote-viewer spice://127.0.0.1:5930 e spice-vdagent está pré-instalado no convidado, mas não há sucesso.

    A causa da bagunça é que os desenvolvedores do QEMU parecem mais focados no uso não-interativo, ao invés de implementar coisas como esta de forma confiável e, portanto, matando o VirtualBox de uma vez por todas: link

  • TODO: aceleração 3D do host. Ainda com SPICE e QXL, glxgears fornece 1k FPS e o mesmo acontece com o SDL normal. Mas no host __GL_SYNC_TO_VBLANK=0 vblank_mode=0 glxgears dá 20k FPS, então estou supondo que os gráficos não foram acelerados?

Relacionados: link

Testado em um host do Ubuntu 18.04, QEMU 1:2.11+dfsg-1ubuntu7.3 , nvidia-384 versão 390.48-0ubuntu3 , Lenovo ThinkPad P51, NVIDIA Corporation GM107GLM [Quadro M1200 Mobile] GPU.

Imagens inicializáveis pré-construídas

Se você quer uma imagem que inicializa sem a necessidade de qualquer interação no instalador, veja: Existe alguma imagem QEMU Ubuntu pré-construída (32 bits) on-line?

Servidor

O mesmo procedimento mencionado para a área de trabalho também funcionou para a imagem do servidor.

Eu não consegui fazer a instalação inicial com -nogrphic para me livrar completamente da GUI: Como inicializar e instalar a imagem do servidor Ubuntu no QEMU -nographic sem a GUI?

Mas depois da inicialização inicial, depois de editar as configurações do GRUB, consegui isso: Como chegar ao menu do GRUB na inicialização usando o console serial?

No entanto, na maioria das vezes, você provavelmente desejará usar a imagem da nuvem em vez da imagem do servidor com emulação, pois ela não tem o instalador interativo e é utilizável da CLI por padrão.

    
0

As etapas de instalação descritas (por Ciro) funcionaram para mim. A linha cmd usada no script funcionou bem, mas eu tive que usar outras opções que estavam causando problemas de inicialização depois disso (a inicialização pára de mostrar informações dos blocos de armazenamento)

-vga cirrus ajudou finalmente (resolução max 1280 x 1024). Eu tenho nvidia GPU no host com configuração de monitor duplo. Não tenho certeza do que estava causando problema. Também -vga std e -vga virtio não funcionaram.

Host OS = 16,4 LTS & Convidado OS = 18.4.2 LTS

sudo ./x86_64-softmmu/qemu-system-x86_64 -m 8196 -M q35,accel=kvm,kernel-irqchip=split -cpu host -smp 8 -drive file=~/qemu/ubuntu-18.04.2-desktop-amd64.img.qcow2,format=qcow2 -vnc :5 -net nic -net user,hostfwd=tcp::2222-:22 -device intel-iommu,intremap=on **-vga cirrus**

    
por 06.03.2019 / 21:56