grub-devel
[Top][All Lists]
Advanced

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

Re: GRUB PXE not requesting formatted configs automatically


From: Robert LeBlanc
Subject: Re: GRUB PXE not requesting formatted configs automatically
Date: Wed, 2 Mar 2022 21:19:30 -0700

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`

----------------
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 <robert@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

reply via email to

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