Renaud Métrich <rmetr...@redhat.com> writes: > When efi.quickboot is enabled on VMWare (which is the default for > hardware release 16 and later), it may happen that not all EFI devices > are connected. Due to this, browsing the devices in make_devices() just > fails to find devices, in particular disks or partitions for a given > disk. > This typically happens when network booting, then trying to chainload to > local disk (this is used in deployment tools such as Red Hat Satellite), > which is done through using the following grub.cfg snippet: > -------- 8< ---------------- 8< ---------------- 8< -------- > unset prefix > search --file --set=prefix /EFI/redhat/grubx64.efi > if [ -n "$prefix" ]; then > chainloader ($prefix)/EFI/redhat/grubx64/efi > ... > -------- 8< ---------------- 8< ---------------- 8< -------- > > With efi.quickboot, none of the devices are connected, causing "search" > to fail. Sometimes devices are connected but not the partition of the > disk matching $prefix, causing partition to not be found by > "chainloader". > > This patch introduces a new "eficonnect pciroot|scsi|all" command whic > recursively connects all EFI devices starting from a given controller > type: > - if 'pciroot' is specified, recursion is performed for all PCI root > handles > - if 'scsi' is specified, recursion is performed for all SCSI I/O > handles (recommended usage to avoid connecting unwanted handles which > may impact Grub performances) > - if 'all' is specified, recursion is performed on all handles (not > recommended since it may heavily impact Grub performances) > > Typical grub.cfg snippet would then be: > -------- 8< ---------------- 8< ---------------- 8< -------- > eficonnect scsi > unset prefix > search --file --set=prefix /EFI/redhat/grubx64.efi > if [ -n "$prefix" ]; then > chainloader ($prefix)/EFI/redhat/grubx64/efi > ... > -------- 8< ---------------- 8< ---------------- 8< -------- > > The code is easily extensible to handle other arguments in the future if > needed.
(The first patch doesn't apply to upstream - I assume it was sent by accident?) I wanted to call out here that we're already shipping this command in RHEL under the name in previous versions (i.e., connectefi). Renaud, you probably know better than I do how much difficulty would be involved in changing that for customers, so I'll defer to you on whether that's okay. Be well, --Robbie
signature.asc
Description: PGP signature
_______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel