Hello, This is a v3 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 to each machine by using the client UUID, MAC and IP as grub.cfg suffixes.
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 is just a cleanup of the bootp/dhcp options enum to consistently use hexadecimal numbers for all the values. Patch #3 sets net_<interface>_client{id,uuid} environment variables by using the DHCP client ID and UUID options if these are found. Patch #4 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. Patch #5 adds documentation that specifies the order netboot clients use to select a grub configuration file. Best regards, Javier Changes in v3: - Add patch to cleanup bootp/dhcp options enum. - Add Reviewed-by tag from Daniel Kiper. - Add a patch documenting the grub.cfg netboot selection order. 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. Javier Martinez Canillas (1): net/dhcp: Consistently use hexadecimal numbers for options enum Paulo Flabiano Smorigo (3): Add %X option to printf functions net/dhcp: Set net_<interface>_client{id,uuid} variables from DHCP options normal/main: Search for specific config files for netboot Robert Marshall (1): docs: Update info with grub.cfg netboot selection order docs/grub.texi | 42 +++++++++++++++ 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 | 19 ++++--- 6 files changed, 229 insertions(+), 21 deletions(-) -- 2.21.0 _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel