Issue encountered booting FreeBSD STABLE and CURRENT snapshots with EFI

Kyle Evans kevans at freebsd.org
Fri Mar 23 17:32:12 UTC 2018


On Fri, Mar 23, 2018 at 9:58 AM, Rodney W. Grimes
<freebsd-rwg at pdx.rh.cn85.dnsmgr.net> wrote:
>> On Fri, Mar 23, 2018 at 3:56 AM, Joe Maloney <jmaloney at ixsystems.com> wrote:
>> > We narrowed the issue down to how vm-bhyve attaches a null.iso when starting
>> > the VM.
>> >
>>
>> What exactly are the contents of this null.iso? It sounds like we're
>
> touch "null.iso"
> -rw-r--r--  1 root  wheel  0 Dec  3 22:55 /home/vmbhyve/.config/null.iso
>
> It is litterly a 0 byte file.   This is just there to appease windows
> installer that you have a cd drive.
>
> You can test with bhyve yourself this problem by adding:
>         -s 3:0,ahci-cd,${vm_dir}/.config/null.iso
> to your bhyve command.
>

Thanks for that! A couple hundred printf's later, I think this might
be a firmware bug or something of the sort (?).

In this loop [1], the address at 'dp' is getting immediately clobbered
by the efi_lookup_devpath on every iteration, so we end up looking at
basically all of the partitions and this null.iso unfortunately meets
this criteria [2] for removable media with no media present.
Therefore, we detect absolutely no disks.

The only candidate in efi_lookup_devpath [3] is the firmware itself
having overwritten the devpath at that address. We can confirm this
with a printf just after the efi_lookup_devpath- the pointer it's
returning is in fact exactly match 'dp' every single time.

Is there a newer/different firmware you can try? This seems like
really peculiar behavior for a firmware to be exhibiting.

[1] https://svnweb.freebsd.org/base/head/stand/efi/libefi/efipart.c?view=markup#l232
[2] https://svnweb.freebsd.org/base/head/stand/efi/libefi/efipart.c?view=markup#l261
[3] https://svnweb.freebsd.org/base/head/stand/efi/libefi/devpath.c?view=markup#l53


More information about the freebsd-virtualization mailing list