Attention is currently required from: Felix Singer, Filip Lewiński, Krystian Hebel, Martin L Roth, Michał Kopeć.
Hello Krystian Hebel, Martin L Roth, Michał Kopeć, build bot (Jenkins),
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/82041?usp=email
to look at the new patch set (#8).
The following approvals got outdated and were removed: Code-Review-1 by Krystian Hebel, Verified+1 by build bot (Jenkins)
Change subject: payloads/external/iPXE: introduce support for named configurations ......................................................................
payloads/external/iPXE: introduce support for named configurations
This commit adds support for iPXE's named configuration mechanism, allowing for optional customization of configuration headers without modifying iPXE source files directly. Named configurations align with iPXE's documented practices and provide a structured way to apply customizations, while keeping the source tree clean.
- A new `payloads/external/iPXE/named-configs` directory was introduced to hold named configuration files (e.g., `general.h`, `console.h`, `serial.h`) for specific use cases. - The `Makefile` was updated to: - Copy named configuration files into `src/config/local/<name>` within the iPXE build directory during the build process, if a named configuration is explicitly enabled via `CONFIG_IPXE_NAMED_CONFIG`. - Retain the existing `sed`-based modifications to configuration files for legacy and default workflows. - A new Kconfig option (`CONFIG_IPXE_NAMED_CONFIG`) was added to allow users to specify a named configuration. If unset, the named configuration logic is skipped entirely, ensuring no impact on existing builds.
The previous workflow relied entirely on `sed` commands to modify iPXE header files during the build. While this approach works, it directly modifies the source tree, which: - Can complicate branch switching or repository updates. - Does not utilize iPXE's native named configuration mechanism, which provides a cleaner and more maintainable way to handle customizations.
Named configurations offer an alternative that avoids directly altering iPXE's source files. This is particularly useful for maintaining reproducible and isolated builds. While the existing `sed` logic is preserved, named configurations could potentially replace it in the future.
- No changes were made to the default workflow. Builds that do not specify `CONFIG_IPXE_NAMED_CONFIG` continue to rely on the existing `sed` logic. - The named configuration mechanism is entirely optional and will only apply if explicitly enabled by setting `CONFIG_IPXE_NAMED_CONFIG` in the platform's defconfig.
To use a named configuration: 1. Create a directory under `payloads/external/iPXE/named-configs/<name>` with custom header files (e.g., `general.h`, `console.h`). 2. Set `CONFIG_IPXE_NAMED_CONFIG="<name>"` in the platform's defconfig. 3. Build as usual.
If no named configuration is specified, the build process remains unchanged.
Change-Id: Ibf7c2d9e4407035bfdf0115f4628f23b38272656 Signed-off-by: Filip Lewiński filip.lewinski@3mdeb.com --- M payloads/external/Makefile.mk M payloads/external/iPXE/Kconfig M payloads/external/iPXE/Makefile A payloads/external/iPXE/named-configs/.gitkeep 4 files changed, 40 insertions(+), 5 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/41/82041/8