]> git.proxmox.com Git - efi-boot-shim.git/blame - README
Import Upstream version 0.9+1474479173.6c180c6
[efi-boot-shim.git] / README
CommitLineData
bbfd2ab1
MTL
1shim is a trivial EFI application that, when run, attempts to open and
2execute another application. It will initially attempt to do this via the
3standard EFI LoadImage() and StartImage() calls. If these fail (because secure
4boot is enabled and the binary is not signed with an appropriate key, for
5instance) it will then validate the binary against a built-in certificate. If
6this succeeds and if the binary or signing key are not blacklisted then shim
7will relocate and execute the binary.
8
9shim will also install a protocol which permits the second-stage bootloader
10to perform similar binary validation. This protocol has a GUID as described
11in the shim.h header file and provides a single entry point. On 64-bit systems
12this entry point expects to be called with SysV ABI rather than MSABI, and
13so calls to it should not be wrapped.
14
15To use shim, simply place a DER-encoded public certificate in a file such as
16pub.cer and build with "make VENDOR_CERT_FILE=pub.cer".