[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v6 0/5] Search for specific config files using UUID, MAC and IP
From: |
Javier Martinez Canillas |
Subject: |
[PATCH v6 0/5] Search for specific config files using UUID, MAC and IP |
Date: |
Wed, 22 Jan 2020 12:01:51 +0100 |
Hello,
This is a v6 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 and explains how the feature can be disabled.
Best regards,
Javier
Changes in v6:
- Allow the feature to be disabled by setting feature_net_search_cfg=n.
- Remove Reviewed-by tag from Daniel Kiper since the patch #4 changed.
- Explain in the GRUB manual that the feature is enabled by default and how
can be disabled by setting a variable in an embedded configuration file.
Changes in v5:
- Add Reviewed-by from Daniel Kiper to patch #2.
- Don't mix variable declaration and code.
- Don't initialize variable without need.
- Check for memory allocation failure.
- Add missing grub_free().
- Don't mix varible declarations and code.
- Don't use variable length arrays.
- Fix coding style issues.
- Fix function prototype.
- Include missing <grub/net.h> header.
- Add Reviewed-by tag from Daniel Kiper to patch #5.
Changes in v4:
- Use decimal instead of hexadecimal numbers to be consistent with RFC 2132.
- Mention that the UUID is unique to the machine and not the NIC and also
refer to the RFC 4578 where the client UUID DHCP option is specified.
Changes in v3:
- Add patch to cleanup bootp/dhcp options enum.
- Use decimal numbers for the newly added DHCP client ID and UUID options.
- 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 decimal numbers for DHCP/BOOTP 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 | 51 ++++++++++++++++
grub-core/kern/misc.c | 7 ++-
grub-core/net/bootp.c | 52 +++++++++++++---
grub-core/net/net.c | 131 ++++++++++++++++++++++++++++++++++++++++
grub-core/normal/main.c | 26 ++++++--
include/grub/net.h | 22 ++++---
6 files changed, 266 insertions(+), 23 deletions(-)
--
2.24.1
- [PATCH v6 0/5] Search for specific config files using UUID, MAC and IP,
Javier Martinez Canillas <=
- [PATCH v6 2/5] net/dhcp: Consistently use decimal numbers for DHCP/BOOTP options enum, Javier Martinez Canillas, 2020/01/22
- [PATCH v6 1/5] Add %X option to printf functions, Javier Martinez Canillas, 2020/01/22
- [PATCH v6 3/5] net/dhcp: Set net_<interface>_client{id, uuid} variables from DHCP options, Javier Martinez Canillas, 2020/01/22
- [PATCH v6 5/5] docs: Update info with grub.cfg netboot selection order, Javier Martinez Canillas, 2020/01/22
- [PATCH v6 4/5] normal/main: Search for specific config files for netboot, Javier Martinez Canillas, 2020/01/22