help-grub
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: EFI Network drivers being disabled when booting with Grub via PXE


From: Gustavo Henrique
Subject: Re: EFI Network drivers being disabled when booting with Grub via PXE
Date: Tue, 6 Jul 2021 18:23:39 -0300

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 <arvidjaar@gmail.com>
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.
>
>


reply via email to

[Prev in Thread] Current Thread [Next in Thread]