Greetings, A quick google search yielded no results. So I thought I'd ask here. If anybody would know, it will be someone in this group. I have a question, but first some background. I hope it's both complete enough to understand my question, but brief enough to not waste people's time.
I'm implementing real EFI boot manager support in FreeBSD. To date, we've been using a rather ad-hoc methods to locate ZFS pools to boot from. For the most part, this works well in practice. However, there's some ambiguity. We boot the first pool we find that works, while there may be scenarios where this isn't desired. This is the same issue we have with UFS, only not as bad because there's generally more UFS volumes to choose from. At work, we have systems that boot off a ping/pong set of partitions that confuse the 'guessing' code , which is why I'm down this rabbit hole. FreeBSD will be moving from booting off the 'default' location (\EFI\BOOT\BOOTxxx.EFI) to have a specified location in a EFI Boot Manager Load Option (HD(1,GPT,d0b70a0e-b3e3-11e3-a8cc-002590e4d0ec,0x28,0x80)\EFI\FREEBSD\LOADER.EFI, for example). The plan is to actually specify two paths. The second one would be for the kernel. So on the same example system, it might be HD(2,GPT,d0b74ba3-b3e3-11e3-a8cc-002590e4d0ec,0xa8,0x6f3fff78)\boot\kernel\kernel to specify the kernel exactly so boot1/loader don't have to guess what the user wants. While the EFI Boot Manager isn't going to grok zpools or the like, LOADER.EFI can and does. It would be nice to have a standard way of doing this. UEFI has an extensible media type for situations like this. VendMedia(uuid, data) is how it's encoded. The data is a series of hex bytes. This seems to be a good match for zpools, though I'm not ZFS versed enough to know what would be good for the data (though the pool name seems like a must). So, my question: has anybody walked down this path yet? Is there a standard way to specify ZFS boot environments and/or paths within a pool as a UEFI DEVICE PATH? Thanks for any help you can give... I hope for a 'here's a doc' answer that has it all defined, but I'm also cool with creating the doc, though I'd likely need a lot of help to get the details right if I had to go that path. Warner ------------------------------------------ openzfs-developer Archives: https://openzfs.topicbox.com/groups/developer/discussions/T41d7b9e4338abde1-Md024600538e3b6f36a529fcc Powered by Topicbox: https://topicbox.com
