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

PMc

Daemon

Reaction score: 671
Messages: 1,354

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.
 

Phishfry

Beastie's Twin

Reaction score: 2,646
Messages: 5,566

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

Phishfry

Beastie's Twin

Reaction score: 2,646
Messages: 5,566

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.
 
OP
PMc

PMc

Daemon

Reaction score: 671
Messages: 1,354

I have no idea if I need it. Maybe I can say that when I see it working.
I only use either bhyveload for legacy bios VM's
Would that work to boot e.g. CP/M-86 or xenix/286?
 

Phishfry

Beastie's Twin

Reaction score: 2,646
Messages: 5,566

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.
 
OP
PMc

PMc

Daemon

Reaction score: 671
Messages: 1,354

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.
 

pebkac

New Member

Reaction score: 8
Messages: 17

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?
 

Phishfry

Beastie's Twin

Reaction score: 2,646
Messages: 5,566

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.
 
Top