Hi Andrei, That was exactly the problem! Changing this code line solves it.
Thank you so much sir! Em sex., 2 de jul. de 2021 às 15:17, Andrei Borzenkov <[email protected]> escreveu: > On 02.07.2021 14:15, Gustavo Henrique wrote: > > Hi, > > > >> What exactly "boot the UEFI Shell" means? How do you "boot" it? What > >> grub command(s) do you use? > > > > I have a .efi that is an UEFI Shell application (boot_shell.efi). I boot > it > > by using these two commands: > > > > 1. chainloader (hd0,msdos1)/boot_shell.efi > > 2. boot (hd0,msdos1)/boot_shell.efi > > > > "boot" command does not need or interpret any argument. > > Educated guess is that grub opens SNP protocol on network card in > exclusive mode that kicks off everything else. When you boot off local > storage (USB) grub network driver is not loaded. > > EFI chainloader command is using StartImage call so grub itself remains > loaded and protocol opened on network card remains active. This may > explain why attempt to reinstate these protocols fails. > > If you are willing to check it, try removing > GRUB_EFI_OPEN_PROTOCOL_BY_EXCLUSIVE in > grub-core/net/drivers/efi/efinet.c:open_card(): > > /* Try to reopen SNP exlusively to close any active MNP protocol instance > that may compete for packet polling > */ > net = grub_efi_open_protocol (dev->efi_handle, &net_io_guid, > GRUB_EFI_OPEN_PROTOCOL_BY_EXCLUSIVE); > > Note that as explained in comments the reason for this is to avoid > packet loss. So removing EXCLUSIVE may result in failed network > communication. > >
