Bug 220105

Summary: boot1.efi does not detect ZFS pools on whole disks
Product: Base System Reporter: Kevin Allix <kallix>
Component: kernAssignee: freebsd-fs (Nobody) <fs>
Status: New ---    
Severity: Affects Only Me CC: linimon, reto.haeuptli, tech-lists
Priority: ---    
Version: CURRENT   
Hardware: Any   
OS: Any   

Description Kevin Allix 2017-06-18 11:09:18 UTC
boot1.efi does not detect ZFS pools created on whole disks (i.e. NOT on freebsd-zfs partitions).

My (limited) understanding is that sys/boot/zfs/zfs.c should detect whole disk ZFS pools since comments in zfs_probe_dev seem to indicate that this function first tries to probe whole disk before probing partitions. 


My setup: 
- 1 SSD with a GPT scheme and just one EFI partition populated with dd if=/boot/boot1.efifat
- 6 HDDs with a raidz2 pool created with: 
    zpool create -f $MYPOOL raidz2 ada0 ada1 ada2 ada3 ada4 ada5 
   on brand new disks (There were no freebsd-zfs partition created. Not even a GPT scheme)


Some more info:
 - The ZFS pool on my raidz2 array is functional (I can import it when booting in the "Live CD" mode of a FreeBSD 11 install media)
 - Originally, I had the system installed with a zroot pool on my SSD, but for various reasons, I need to have my system live on my raidz2 pool)
 - If there is a way to let boot1.efi know how to find my pool, I would be happy with that
Comment 1 Kevin Allix 2017-06-18 15:15:34 UTC
Apparently, devices without logical partitions are not even probed with (ufs|zfs)_module.c

in boot1.c, line 492: 
if (!blkio->Media->LogicalPartition)
    return (EFI_UNSUPPORTED);
Comment 2 Kevin Allix 2017-06-18 20:40:57 UTC
Commenting out the two lines in boot1.c allowed boot1.efi to detect my zfs pool, and to load loader.efi .
However, loader.efi could not find any zfs pool neither (nothing in the ZFS section of the output of lsdev)
Comment 3 Mark Linimon freebsd_committer freebsd_triage 2018-10-09 21:21:29 UTC
Is this still a problem on 12-ALPHA?
Comment 4 tech-lists 2018-10-10 09:15:32 UTC
yes this still happens on 12.0-ALPHA8 r339251
Comment 5 reto.haeuptli 2019-02-01 14:46:16 UTC
I checked the source code of the EFI boot loader. Its seems thats its not able to boot ZFS from a whole disk. Next week I try to find out what needs to be done to make it work. 
Today I filed tho bug reports bug #235380 and bug #235388 related to this bug report.