CFT EFI Boot Refactoring

Ben Woods woodsb02 at gmail.com
Mon Dec 5 13:43:05 UTC 2016


On 4 December 2016 at 10:59, Eric McCorkle <eric at metricspace.net> wrote:

> You don't have a UFS filesystem anywhere, so we can rule that out.  It
> might be tsoome's bug, and it might just be that the bug is sporadic,
> which would explain why I'm not seeing it on my setup with a dosfs.
>
> The only other obvious commonality between you and tsoome that doesn't
> overlap my setup is multiple ZFS datasets, or ZFS data vdevs (mirrors,
> stripes, etc) spread across multiple disks (my setup only has a log and
> a cache on the ssd).
>
>
> Here's what I'll do.  I'll create an "extra_logging" branch off of
> efize_new in my github repo, wherein I'll add a bunch of extra logging
> into the detection process.  It ought to be enough to print out device
> paths and filesystem drivers just before it tries them.



Ok, I have tested with the extra_logging branch, and can report that the
text on the screen at the time of the hang was:

>> FreeBSD EFI boot block
   Loader path: /boot/loader.efi

   Initializing modules: FS BackendProbing all handles for ZFS
Done
Binding SIMPLE_FILESYSTEM_PROTOCOL to 0xb85bff18
Binding SIMPLE_FILESYSTEM_PROTOCOL to 0xb85bfc18
Binding SIMPLE_FILESYSTEM_PROTOCOL to 0xb85bf998
Probing all filesystems
Probing dosfs
_


Following that, I tried a combination of the old (unmodified) BOOTX64.EFI
with the new (modified) files in /boot/.
This produced the following output on the screen before it also hung:

>> FreeBSD EFI boot block
   Loader path: /boot/loader.efi

   Initializing modules: ZFS UFS
   Probing 10 block devices............* done
    ZFS found the following pools: zroot
    UFS found no paritions
Consoles: EFI console
Probing all handles for ZFS
Done
Binding SIMPLE_FILESYSTEM_PROTOCOL to 0xb85c9718
Binding SIMPLE_FILESYSTEM_PROTOCOL to 0xb85c9418
Binding SIMPLE_FILESYSTEM_PROTOCOL to 0xb85c9198
Probing all filesystems
Probing dosfs
_


Hope this is helpful for debugging this issue. Note that once again I did
NOT run any command to update my freebsd-boot partition (such as gpart
bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 2 ada1). Is this required?

Regards,
Ben

--
From: Benjamin Woods
woodsb02 at gmail.com


More information about the freebsd-hackers mailing list