OVMF suporta -boot
desde r13683 e suporta -kernel -append -initrd
desde r13923 .
-
Faça o download
OVMF-0.1+r14071-1.1.x86_64.rpm
ou a versão mais recente. - Extraia
bios.bin
do rpm:rpm2cpio OVMF-0.1+r14071-1.1.x86_64.rpm | cpio -idmv
- Especifique o parâmetro de firmware para o QEMU:
qemu-kvm -bios ./usr/share/qemu-ovmf/bios/bios.bin -m 1G -cdrom boot.iso
(testado com o boot.iso do Fedora criado com medidas especiais )
Eu também testei qemu -kernel -append -initrd
com o kernel 3.5, 3.6 e 3.8.
O firmware EFI tem requisitos de formato e hierarquia de arquivos para que a imagem ISO seja inicializável ( 1 ), e outros para discos. Sua imagem ISO modificada provavelmente não atendeu aos requisitos, portanto, o firmware não a reconheceu. O firmware EFI também possui requisitos de formato para que o binário seja executado, portanto, sua imagem do kernel bzImage ou qualquer outra que precise ser construída com EFISTUB.
Você pode inicializar o kernel a partir do shell EFI com os parâmetros especificados manualmente. Exemplos: 2 . Você pode criar um startup.nsh
para salvar um pouco de digitação. Você pode usar bootloaders para ter um gerenciamento mais completo. Você precisa aprender: 2
O firmware EFI salva as opções de inicialização na NVRAM. No momento, o QEMU não preserva a NVRAM, portanto, as opções de inicialização são perdidas quando você fecha o QEMU. Sem opções de inicialização, o firmare tenta encontrar \EFI\BOOT\BOOTX64.EFI
para executar, mas não está aqui, então ele não sabe o que inicializar e deixa o controle para você. O que você precisa fazer para inicializar o kernel no shell EFI é apenas entrar em um sistema de arquivos, navegar para um caminho apropriado e executar um binário.
fs0:
cd EFI\fedora
grub.efi
ou
vmlinuz.efi ...
OVMF suporta o virtio-scsi desde o EDK2 r13867 .