Glenn Washburn <development@efficientek.com> writes:
On 3/9/23 23:00, Robbie Harwood wrote:
Glenn Washburn <development@efficientek.com> writes:
If the configure option --enable-efi-debug is given, then enable the
printing early in EFI startup of the command needed to load symbols for
the GRUB EFI kernel. This is needed because EFI firmware determines where
to load the GRUB EFI at runtime, and so the relevant addresses are not
known ahead of time. This is not printed when secure boot is enabled.
The command is a custom command defined in the gdb_grub GDB script. So
GDB should be started with the script as an argument to the -x option or
sourced into an active GDB session before running the outputted command.
Also a command named "gdbinfo" is enabled which allows the user to print
the gdb command string on-demand, which can be valuable as the printing
early in EFI startup is quickly replaced by other text. So if using a
physical screen it may appear too briefly to be registered.
Co-developed-by: Peter Jones <pjones@redhat.com>
Signed-off-by: Glenn Washburn <development@efficientek.com>
---
This is patch 9 from the v6 "GDB script fixes and improvements" series, with
one modification. Now the gdbinfo command will print the gdb load command
even when the configure option is not enabled (though still not when lockdown
is enabled).
Robbie had 2 concerns with the last patch.
1. Does this need to be configurable?
* I responded that this was requested by Daniel because of concerns about
it breaking silent boot and it seemed reasonable to me, but that I don't
have a strong opinion. I've left it configurable until Dnaiel weighs in.
Yeah, I think these concerns are valid. The version in the rhboot
tree gates printing on an env var. Right now, it seems to me that:
- we want it to be default-off because silent boot
I understand you to be talking about a default-off at runtime, not
built time. Right now there is a configure option which defaults to
off, is this acceptable?
Indeed, I'm talking about runtime configurability. Build-time
configurability means it's either always on (bad) or we have to rebuild
in order to debug (annoying, interacts poorly with scureboot).
- we want to have the ability to reenable without rebuilding because
secureboot, convenience, etc.
This would be great, but how do you propose that this would work? This
patch will print very early in EFI init. We can't use GRUB variables. We
probably could use EFI variables, but this needs to be well defined (and
not by me, since I don't have this requirement). I'm not sure if the
GRUB env block is available at this point, but that might be an option.
Can you point me to RH's patch you've referred to? Does it meet this
requirement, and if so how?
I thought you were basing your work off it, given the "Co-developed-by"
and your review on v1:
https://lists.gnu.org/archive/html/grub-devel/2021-10/msg00076.html