Hi Boon Khai Ng, Tom,

On 5/29/26 1:23 PM, Boon Khai Ng wrote:
mkeficapsule tool is automatically enabled when EFI_LOADER is selected,
which introduces a host dependency on libgnutls.

This causes build failures in minimal toolchain environments where
gnutls headers are not installed.


Having had a cursory look at tools/mkeficapsule.c, I think it should be pretty straightforward (famous last words) to remove the dependency on gnutls. See changes made in 16abff246b40 ("tools: mkeficapsule: add firmware image signing") (lots of noise in the patch though, I'm thinking we only need to ifdef the privkey_file && cert_file if block in create_fwbin() (and the functions called in that block). The only issue is to decide when to drop this dependency.

We use pkg-config to detect if the lib is available (I'm hoping that's enough to assume the header will be available too), but if pkg-config fails then we still default to -lgnutls, see 31a7688cbe0e ("tools: mkeficapsule: use pkg-config to get -luuid and -lgnutls"). I'm not sure if/why we need to keep this fallback but otherwise we could do the same trick as for pk11 support in gnutls here https://lore.kernel.org/u-boot/[email protected]/ and set a flag to ifdef the appropriate sections in the code.

Stratix10 SoCFPGA platforms do not use UEFI capsule update workflows
and therefore do not require mkeficapsule.


If you say so :)

Reviewed-by: Quentin Schulz <[email protected]>

Cheers,
Quentin

Reply via email to