]> git.ipfire.org Git - thirdparty/ipxe.git/commit
[efi] Implement "shim" as a dummy command on non-EFI platforms
authorMichael Brown <mcb30@ipxe.org>
Wed, 24 May 2023 09:20:31 +0000 (10:20 +0100)
committerMichael Brown <mcb30@ipxe.org>
Wed, 24 May 2023 09:20:31 +0000 (10:20 +0100)
commit6a7f560e60837fc2ce82a7aa976035656f7d231e
tree5a6f06694b4eaef5b8ec6ccb1e4976d8594d3dc2
parent5b4318143648272b36736c1d1d5d1acbda9a5876
[efi] Implement "shim" as a dummy command on non-EFI platforms

The "shim" command will skip downloading the shim binary (and is
therefore a conditional no-op) if there is already a selected EFI
image that can be executed directly via LoadImage()/StartImage().
This allows the same iPXE script to be used with Secure Boot either
enabled or disabled.

Generalise this further to provide a dummy "shim" command that is an
unconditional no-op on non-EFI platforms.  This then allows the same
iPXE script to be used for BIOS, EFI with Secure Boot disabled, or EFI
with Secure Boot enabled.

The same effect could be achieved by using "iseq ${platform} efi"
within the script, but this would complicate end-user documentation.

To minimise the code size impact, the dummy "shim" command is a pure
no-op that does not call parse_options() and so will ignore even
standardised arguments such as "--help".

Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/config/defaults/efi.h
src/config/general.h
src/hci/commands/shim_cmd.c