Hello,

This is a 2nd version of a series that have been carried in Fedora (and
other distros) for a long time. It allows to fetch GRUB configurations
that are customized for each machine by using the client UUID, MAC and
IP addresses as suffixes for the grub.cfg file.

The procedure is similar to what is used by pxelinux and yaboot, i.e:
http://www.syslinux.org/wiki/index.php/PXELINUX#config

Patch #1 adds a %X format specifier to make the grub_printf() function
more similar to printf() and not require to use %x plus grub_toupper().

Patch #2 sets net_<interface>_client{id,uuid} environment variables by
using the DHCP client ID and UUID options if these are found.

Finally Patch #3 adds the support to fetch the config files using the
UUID, MAC and IP as suffixes. If these aren't found, the default GRUB
config filename is used as a fallback.

Best regards,
Javier

Changes in v2:
- Put patch that adds the %X format specifier first in the series.
- Use the existing grub_env_set_net_property() and remove duplicated code.
- Add Reviewed-by tag from Daniel Kiper.

Paulo Flabiano Smorigo (3):
  Add %X option to printf functions
  Set net_<interface>_client{id,uuid} variables from DHCP options
  Search for specific config files for netboot

 grub-core/kern/misc.c   |   7 ++-
 grub-core/net/bootp.c   |  48 ++++++++++++++---
 grub-core/net/net.c     | 117 ++++++++++++++++++++++++++++++++++++++++
 grub-core/normal/main.c |  17 ++++--
 include/grub/net.h      |   5 ++
 5 files changed, 180 insertions(+), 14 deletions(-)

-- 
2.21.0


_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to