On 2020-03-13 21:35, Rivard, Matthew T wrote: > Is there a command line flag that allows you to pass a config file at launch > time of a PXE loaded copy of grub.efi ? This would be a grub.efi made with > the makestandalone tool. > > Example would be grub.efi -c > http://server/that/makes/the/configfile/for/this/boot.scriptinglngextension?variables=&morevariables=<http://server/that/makes/the/configfile/for/this/boot.scriptextension?variables=&morevariables=>
Not to pick nits, but isn't "makestandalone" mutually exclusive with loading a config. file dynamically? If I understand you correctly, you want to load a "grub.cfg" over the network after PXE-booting into grub from an EFI BIOS? If this is what you, I do pretty much the same thing, but I don't load grub.efi, but rather core.efi via dhcp.conf, and I use grub-mknetdir instead: grub-mknetdir --net-directory=/tftproot --subdir=/grub -d /usr/lib/grub/x86_64-efi and in my dhcp.conf: if option architecture-type = 00:00 { option configfile "pxelinux.cfg/C0A801"; option pathprefix ""; filename "/grub/i386-pc/core.0"; } elsif option architecture-type = 00:07 { option configfile "pxelinux.cfg/C0A801"; option pathprefix ""; filename "/grub/x86_64-efi/core.efi"; core.efi is smart enough to pull /grub/grub.cfg without any further options. I did not need option 209. I didn't have to do anything more but provide "/grub/grub.cfg" (at /tftproot/grub/grub.cfg). You'll need to inspect the results of the grub-mknetdir command to verify all this on your system. Note that this all rides over tftp, not http as you requested above. There are a few BIOS's that support NBP over http directly (instead of tftp), and that might induce core.efi to request /grub/grub.cfg over http as well, but I can't vouch for that, as tftp is all I run, given how rare http for NBP is (there were some BIOS bugs that only recently got fixed...). As best I can tell, core.efi simply uses the network port as configured by BIOS/PXE from dhcp server to simply tftp /grub/grub.cfg and goes from there. Appears to be default behavior. Seems if you _didn't_ want this, then you'd go with grub-mkstandalone and embed grub.cfg into grub.efi.