Bem, antes de tudo, qemu-system-arm e kzm são ambos de 32 bits.
Você quer qemu-system-aarch64 e provavelmente -m virt .
Como essa é uma plataforma virtual "genérica", você precisa especificar a quantidade de RAM ( -M 1024 ) e o modelo do processador ( -cpu cortex-a57 ) separadamente.
Em segundo lugar, a menos que você esteja inicializando um kernel diretamente, você precisará de algum tipo de firmware. Se você não se preocupa com a configuração de inicialização persistente, pode simplesmente pegar este imagem e adicione -bios QEMU_EFI.fd na linha de comando.
Se você fizer quiser uma configuração de inicialização persistente, escolha o outra imagem , descompacte-a, crie outro arquivo 64MB vazio (chame-o params.bin ) e adicione -pflash QEMU_EFI.img -pflash params.bin à linha de comando ( nessa ordem ).
Provavelmente, você precisará adicionar uma imagem de disco de alguma forma, mas esse bit não é específico para ARM nem firmware.
Ah, e o uso de -cdrom e -hdX com qemu-system-aarch64 não existia para -m virt até o QEMU 2.3-2.4 em algum lugar.