For anyone stumbling on this I made some progress. Apparently the version
of GRUB that ships with Ubuntu 18.04 is way too old for this feature (2.02)
and the feature was not included until 2.06 which Ubuntu 22.04 will have.
So I built GRUB from source, but the bootstrap was failing, so I used the
HTTPS URL for the gnulib GIT repo instead and then Python2 wasn't installed
and so I had to set up alternatives for `python` but the PYTHON environment
could have been used. Only issue now is that `terminal_input at keyboard`
gets wonky when I try to load the Dvorak layout. The keys register fine at
first, but every couple of keystrokes it takes an additional keystroke to
register the key. By the end of one command you have to press the key 10
times or more for the key to register. This is a KVM machine and adding `outb
0x64 0x60; outb 0x60 0x64` right after the `terminal_input` line seems to
have resolved it as mentioned in [1], but I don't know yet if it's a
global fix or will mess up other machines.

```
diff --git a/bootstrap b/bootstrap
index 5b08e7e2d..031784582 100755
--- a/bootstrap
+++ b/bootstrap
@@ -47,7 +47,7 @@ PERL="${PERL-perl}"

 me=$0

-default_gnulib_url=git://git.sv.gnu.org/gnulib
+default_gnulib_url=https://git.savannah.gnu.org/git/gnulib.git

 usage() {
   cat <<EOF
```
`sudo update-alternatives --install /usr/bin/python python
/usr/bin/python3.6 20`

[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=741464
----------------
Robert LeBlanc
PGP Fingerprint 79A2 9CA4 6CC4 45DD A904  C70E E654 3BB2 FA62 B9F1


On Fri, Feb 25, 2022 at 4:31 PM Robert LeBlanc <rob...@leblancnet.us> wrote:

> I've been struggling with getting GRUB PXE to request the automatic list
> of config files, but nothing is working (I'm sniffing the network traffic).
> I can get GRUB to load the config just fine if I specify
> ```
> configfile (tftp,192.168.100.10)/grub.cfg/$net_pxe_mac
> ```
> in an embedded config file. I'm using proxyDHCP so I have to embed the
> target here instead of leveraging $net_default_server or
> $net_pxe_next_server which have the DHCP server listed.
>
> After grub loads the modules from TFTP, it immediately jumps to loading
> `/boot/grub/grub.cfg` and not the list specified in the documentation [1]
> as
> ```
> ‘(FWPATH)’/grub.cfg-7726a678-7fc0-4853-a4f6-c85ac36a120a
> ‘(FWPATH)’/grub.cfg-52-54-00-ec-33-81
> ‘(FWPATH)’/grub.cfg-0A000082
> ‘(FWPATH)’/grub.cfg-0A00008
> ‘(FWPATH)’/grub.cfg-0A0000
> ‘(FWPATH)’/grub.cfg-0A000
> ‘(FWPATH)’/grub.cfg-0A00
> ‘(FWPATH)’/grub.cfg-0A0
> ‘(FWPATH)’/grub.cfg-0A
> ‘(FWPATH)’/grub.cfg-0
> ‘(FWPATH)’/grub.cfg
> ```
> According to a comment in `main.c`, it appears that it only tries this
> code path when entering normal mode from rescue mode. I've tried typing
> `normal` from the GRUB command line without any luck. I've set `debug=all`
> and I don't get any messages from `net.c` and only `disk.c` saying that
> `Opening 'tftp,192.168.100.10' failed`.
>
> I'm at a loss here and hope someone can shed some light since my searching
> is turning up empty.
>
> Thank you,
> Robert LeBlanc
>
> [1] https://www.gnu.org/software/grub/manual/grub/grub.html#Network
> ----------------
> Robert LeBlanc
> PGP Fingerprint 79A2 9CA4 6CC4 45DD A904  C70E E654 3BB2 FA62 B9F1
>
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to