Aviso do QEMU: “O formato da imagem não foi especificado para 'flash0.img' e está sendo testado.”

2

Estou tentando emular a arquitetura ARM usando o QEMU. Meu sistema operacional host é o Ubuntu 16.04 e o sistema operacional convidado dentro da máquina emulada é também o Ubuntu 16.04. A seguir, o tutorial que estou seguindo:

    sudo apt-get install qemu-system-arm qemu-efi

    dd if=/dev/zero of=flash0.img bs=1M count=64
    dd if=/usr/share/qemu-efi/QEMU_EFI.fd of=flash0.img conv=notrunc
    dd if=/dev/zero of=flash1.img bs=1M count=64

    sudo qemu-system-arm -m 1024 -cpu cortex-a57 -M virt -nographic -pflash flash0.img -pflash flash1.img -drive if=none,file=xenial-server-cloudimg-arm64-uefi1.img,id=hd0 -device virtio-blk-device,drive=hd0 -netdev type=tap,id=net0 -device virtio-net-device,netdev=net0,mac=$randmac

Isso está me dando o seguinte erro:

WARNING: Image format was not specified for 'flash0.img' and probing guessed raw.
         Automatically detecting the format is dangerous for raw images, write operations on block 0 will be restricted.
         Specify the 'raw' format explicitly to remove the restrictions.

WARNING: Image format was not specified for 'flash1.img' and probing guessed raw.
         Automatically detecting the format is dangerous for raw images, write operations on block 0 will be restricted.
         Specify the 'raw' format explicitly to remove the restrictions.

Esta é minha primeira vez emulando uma máquina no QEMU. Sua ajuda seria muito apreciada.

Obrigado antecipadamente.

    
por D. A 15.02.2017 / 06:45

1 resposta

1

Isso não é um erro, apenas um aviso. Como seus discos flash virtuais são dispositivos brutos (criados por dd ), o qemu-system não consegue adivinhar o formato do disco. Portanto, as gravações no bloco 0 (que pode ser o MBR ou algum superbloco de um sistema de arquivos) são restritas, como diz a mensagem.

Para superar isso, você pode especificar o formato do disco como format=raw ; a definição então deve ler

sudo qemu-system-arm -m 1024 -cpu cortex-a57 -M virt -nographic -drive file=flash0.img,format=raw,if=pflash -drive file=flash1.img,format=raw,if=pflash -drive if=none,file=xenial-server-cloudimg-arm64-uefi1.img,id=hd0 -device virtio-blk-device,drive=hd0 -device virtio-net-device,netdev=net0,mac=$randmac -netdev type=tap,id=net0
    
por ridgy 15.02.2017 / 12:10