12 votes

Avertissement de QEMU : "Le format de l'image n'a pas été spécifié pour 'flash0.img' et la sonde a deviné qu'elle était brute."

J'essaie d'émuler une architecture ARM à l'aide de QEMU. Mon OS hôte est ubuntu 16.04 et l'OS invité dans la machine émulée est également ubuntu 16.04. Voici le tutoriel que je suis en train de suivre :

    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

Cela me donne l'erreur suivante :

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.

C'est la première fois que j'émule une machine dans QEMU. Votre aide serait très appréciée.

Merci d'avance.

12voto

ridgy Points 2086

Ce n'est pas une erreur, juste un avertissement. Étant donné que vos disques flash virtuels sont des périphériques bruts (créés par des dd ), qemu-system n'est pas capable de deviner le format du disque. Par conséquent, les écritures dans le bloc 0 (qui peut être le MBR ou un superbloc d'un système de fichiers) sont limitées, comme le dit le message.

Pour résoudre ce problème, vous pouvez spécifier le format du disque comme suit format=raw la définition devrait donc être la suivante

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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X