First of all, I will have to disappoint/please you by saying that in this scenario GRUB is the one making the HTTP request, so you have to have a HTTP server running. Can be an ESP8266 or something weak.
In any case, the file /etc/grub.d/09-network
just tells GRUB to source a config file via HTTP request.
All you need to do is copy that file onto your linux system and run update-grub
.
After that, you can reboot and see if grub works as expected.
Your HTTP response (in my case under /grub/config
) could look something like
set default=2
to boot entry number 3 (zero-based).
You can also set other variables like timeout
there.
If you're feeling really fancy, you can replace source
with configfile
in the 09-network
, and have whole menuenties there.
Keep in mind that using configfile
will not carry any env variables like default
back to grub.cfg
.