summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-efi-secure-boot/recipes-core/ovmf/ovmf_%.bbappend59
1 files changed, 59 insertions, 0 deletions
diff --git a/meta-efi-secure-boot/recipes-core/ovmf/ovmf_%.bbappend b/meta-efi-secure-boot/recipes-core/ovmf/ovmf_%.bbappend
new file mode 100644
index 0000000..69a0e4b
--- /dev/null
+++ b/meta-efi-secure-boot/recipes-core/ovmf/ovmf_%.bbappend
@@ -0,0 +1,59 @@
1inherit user-key-store
2
3PACKAGECONFIG_append = " secureboot"
4
5# For SELoader
6do_compile_class-target_append() {
7 if ${@bb.utils.contains('PACKAGECONFIG', 'secureboot', 'true', 'false', d)}; then
8 secbuild_dir="${S}/Build/SecurityPkg/RELEASE_${FIXED_GCCVER}"
9 ${S}/OvmfPkg/build.sh $PARALLEL_JOBS -a $OVMF_ARCH -b RELEASE -t ${FIXED_GCCVER} ${OVMF_SECURE_BOOT_FLAGS} -p SecurityPkg/SecurityPkg.dsc
10 ln ${secbuild_dir}/${OVMF_ARCH}/Hash2DxeCrypto.efi ${WORKDIR}/ovmf/
11 ln ${secbuild_dir}/${OVMF_ARCH}/Pkcs7VerifyDxe.efi ${WORKDIR}/ovmf/
12 fi
13}
14
15EFI_TARGET = "/boot/efi/EFI/BOOT"
16
17do_install_class-target_append() {
18 if ${@bb.utils.contains('PACKAGECONFIG', 'secureboot', 'true', 'false', d)}; then
19 mkdir -p ${D}${EFI_TARGET}
20 if [ x"${UEFI_SB}" = x"1" ]; then
21 install ${WORKDIR}/ovmf/Hash2DxeCrypto.efi.signed ${D}${EFI_TARGET}/Hash2DxeCrypto.efi
22 install ${WORKDIR}/ovmf/Pkcs7VerifyDxe.efi.signed ${D}${EFI_TARGET}/Pkcs7VerifyDxe.efi
23 else
24 install ${WORKDIR}/ovmf/Hash2DxeCrypto.efi ${D}${EFI_TARGET}/Hash2DxeCrypto.efi
25 install ${WORKDIR}/ovmf/Pkcs7VerifyDxe.efi ${D}${EFI_TARGET}/Pkcs7VerifyDxe.efi
26 fi
27 fi
28}
29
30python do_sign() {
31}
32
33python do_sign_class-target() {
34 sb_sign(d.expand('${WORKDIR}/ovmf/Hash2DxeCrypto.efi'), d.expand('${WORKDIR}/ovmf/Hash2DxeCrypto.efi.signed'), d)
35 sb_sign(d.expand('${WORKDIR}/ovmf/Pkcs7VerifyDxe.efi'), d.expand('${WORKDIR}/ovmf/Pkcs7VerifyDxe.efi.signed'), d)
36}
37addtask sign after do_compile before do_install
38
39do_deploy_class-target_append() {
40 if [ x"${UEFI_SB}" = x"1" ]; then
41 install -d ${DEPLOYDIR}/efi-unsigned
42 install ${WORKDIR}/ovmf/Pkcs7VerifyDxe.efi "${DEPLOYDIR}/efi-unsigned/Pkcs7VerifyDxe.efi"
43 install ${WORKDIR}/ovmf/Hash2DxeCrypto.efi "${DEPLOYDIR}/efi-unsigned/Hash2DxeCrypto.efi"
44 install ${WORKDIR}/ovmf/Pkcs7VerifyDxe.efi.signed "${DEPLOYDIR}/Pkcs7VerifyDxe.efi"
45 install ${WORKDIR}/ovmf/Hash2DxeCrypto.efi.signed "${DEPLOYDIR}/Hash2DxeCrypto.efi"
46 else
47 install ${WORKDIR}/ovmf/Pkcs7VerifyDxe.efi "${DEPLOYDIR}/Pkcs7VerifyDxe.efi"
48 install ${WORKDIR}/ovmf/Hash2DxeCrypto.efi "${DEPLOYDIR}/Hash2DxeCrypto.efi"
49 fi
50}
51
52PACKAGES += " \
53 ovmf-pkcs7-efi \
54"
55
56FILES_ovmf-pkcs7-efi += " \
57 ${EFI_TARGET}/Hash2DxeCrypto.efi \
58 ${EFI_TARGET}/Pkcs7VerifyDxe.efi \
59"