bhyve BHYVE_UEFI_CSM.fd (sysutils/uefi-edk2-bhyve-csm)

Has anybody got this working and know what kind of image it would like to load?
I am stuck at
Code:
LegacyGetDataOrTable - ID: 0, Success
  Table - BE823000, Size - 100, Location - BE5AB035, Alignment - 0
Table ID 0 length insufficient
LegacyGetDataOrTable - ID: 1, Unsupported
  Table - BE823000, Size - 100, Location - BE5AB035, Alignment - 0
LegacyGetDataOrTable - ID: 2, Unsupported
  Table - BE823000, Size - 100, Location - BE5AB035, Alignment - 0
LegacyGetDataOrTable - ID: 3, Unsupported
  Table - BE823000, Size - 100, Location - BE5AB035, Alignment - 0

Legacy INT19 Boot...
and nothing further happens.
 
The CSM firmware in ports has been broken for a while.
There is a fixed one as found in the virt mailing list.
 
  • Thanks
Reactions: PMc
I tried to find any PR that is filed. The only ones I found for this pertained to the switch away from GCC and problems with that.

But do note above that Rebeca Cran mentions getting rid of the CSM portion of the edk2 thing and its port.

So that brings me to this question. Why do you need it. I have never used it.
I only use either bhyveload for legacy bios VM's or the edk2 EFI firmware found in ports.
The mode the VM host is running is irrelevant. These are both software emulated BIOS for VM.
Why do you need the CSM emulated BIOS for a VM is my ultimate question.
 
Well to see it working start with the host machine.
sysctl machdep.bootmethod
The BIOS uses CSM mode for OS compatibility.
For a VM I see no such need.
Maybe instead of bhyveload needed the CSM module provides legacy BIOS? I really dunno.
 
Well to see it working start with the host machine.
sysctl machdep.bootmethod
Code:
# sysctl machdep.bootmethod
machdep.bootmethod: BIOS
This is on all local and all cloud machines. Local machines have GPT, cloud have MBR.
Only the test-bhyve currenty has UEFI.

The BIOS uses CSM mode for OS compatibility.
Yes, and I didn't get any of mine to boot without that. Now I know, if the disk doesn't have a correct partitioning, UEFI would not even recognize it. But usually I swap mainboards independent from OS upgrades, and almost never do a fresh install.

For a VM I see no such need.
Maybe instead of bhyveload needed the CSM module provides legacy BIOS? I really dunno.
The need is certainly there when the OS to boot is older than UEFI.
 
Agreed. bhyveload will only work on FreeBSD whereas edk2-csm module will boot any legacy bios OS.
It did get dropped from ports due to py27.
sysutils/uefi-edk2-bhyve-csm/
It did not get dropped, on FreeBSD 13:

Code:
$ pkg search uefi-edk2-bhyve-csm
uefi-edk2-bhyve-csm-0.2_3,1    UEFI EDK2 firmware for bhyve with CSM (16-bit BIOS)

Nonetheless, did anybody actually manage to install a legacy BIOS OS that way in Bhyve?
 
While it may still be lingering it is toast. See the notes:
DEPRECATED: Uses Python 2.7 which is EOLed upstream
This port expired on: 2020-12-31

I have never used the CSM module. I tried with OpenWRT but gave up and used UEFI.
 
Back
Top