Running an edk2 based bios

Bug #1835793 reported by Matthew Intriago on 2019-07-08
This bug affects 1 person
Affects Status Importance Assigned to Milestone

Bug Description

This is not necessarily a bug, however I wasn't sure were to get help.

I am currently working on using QEMU to run a BIOS my company has developed. In order to see if the software was working correctly, I was able to successfully run the edk2 bios using the following command:

qemu-system-x86_64.exe -bios "C:\Users\matthew.intriago\Desktop\ovmf.fd" -net none

However, when running the same command using our personalized bios, QEMU launches stating that “guest has not initialized display”. Theoretically, QEMU should be able to run the bios since it is edk2 based, the only difference between the two is that our bios has more features.

If anyone has any insight on what the issue might be I would greatly appreciate any help.

Peter Maydell (pmaydell) wrote :

"Guest has not initialized display" simply means that the guest code you're running has not done anything to the display device (VGA in this case). There are two main reasons for this:

 (1) the guest code isn't intended to output to the display -- perhaps it sends its output to the serial port instead. In this case the fix is to use the right QEMU arguments to send the serial port output somewhere you can read it (or to reconfigure the guest code to output where you want it to).

 (2) the guest code is intended to output to the display, but it crashed before it got as far as doing that. In this case, the fix is to debug your guest code. QEMU's gdbstub is usually a good tool to use here. If you control the guest code (ie you can modify and recompile it) you can also add extra debugging to it (like making it output more information earlier, or output debugging trace information to the serial port so you can see how far it has got).

My guess would be that this is a variation on 2 caused by your BIOS being compiled to assume different hardware from what QEMU is providing -- if the BIOS tries to write to a device that isn't present it will likely crash or go into an infinite loop.

Alex Bennée (ajbennee) on 2019-07-16
Changed in qemu:
status: New → Invalid
tags: added: question
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers