What | Removed | Added |
---|---|---|
Flags | needinfo?(tzimmermann@suse.com) |
Hi Thomas, (In reply to Thomas Zimmermann from comment #6) > Here are the results of my investigation so far. The kernel tries to acquire > the UEFI boot framebuffer via find_gop() [1]. It fails for all available > results at the pixel_format test at [2]. The firmware only supports the > BitBlt() EFI call to read/write framebuffer data. It's a boot service, so > it's gone after the kernel initialized. We cannot use it. > > I've tested with kernel's going back to v6.4. It's always reproducible. > > To fix this problem, we have modify qemu's OVMF firmware to provide a pixel > format and a framebuffer to which we can memcpy(). AFAICT a pixel format of > PIXEL_BIT_MASK [3] would do this. > > [1] > https://elixir.bootlin.com/linux/v6.8/source/drivers/firmware/efi/libstub/ > gop.c#L521 > [2] > https://elixir.bootlin.com/linux/v6.8/source/drivers/firmware/efi/libstub/ > gop.c#L489 > [3] > https://elixir.bootlin.com/linux/v6.8/source/drivers/firmware/efi/libstub/ > efistub.h#L519 Could you please teach me how to create a qemu of aarch64 with graphics window? I used the following qemu command for launching a aarch64 guest. But it always only shows message on terminal console. Not graphic window: qemu-system-aarch64 \ -m 4096 -cpu cortex-a57 -smp 4 -M virt \ -drive if=pflash,format=raw,readonly,file=/usr/share/qemu/aavmf-aarch64-code.bin \ -drive if=pflash,format=raw,file=/home/joeyli/qemu-vm/openSUSE-MicroOS-aarch64-vars-store.bin \ -serial mon:stdio \ -net nic,model=virtio -net nic,model=virtio -net bridge,br=br0,helper=/usr/libexec/qemu-bridge-helper \ -drive if=none,file=/home/joeyli/iso/openSUSE-MicroOS-DVD-aarch64-Current.iso,id=hd0 -device virtio-blk-device,drive=hd0 \ -drive if=none,file=/home/joeyli/qemu-vm/openSUSE-MicroOS-aarch64-efi.qcow2,id=hd1 -device virtio-blk-device,drive=hd1 -vnc :93 Thanks!