summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/ovmf/ovmf_git.bb
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-core/ovmf/ovmf_git.bb')
-rw-r--r--meta/recipes-core/ovmf/ovmf_git.bb22
1 files changed, 22 insertions, 0 deletions
diff --git a/meta/recipes-core/ovmf/ovmf_git.bb b/meta/recipes-core/ovmf/ovmf_git.bb
index bdec6aa851..436b2f06f2 100644
--- a/meta/recipes-core/ovmf/ovmf_git.bb
+++ b/meta/recipes-core/ovmf/ovmf_git.bb
@@ -19,6 +19,7 @@ SRC_URI = "git://github.com/tianocore/edk2.git;branch=master \
19 19
20SRC_URI_append_class-target = " \ 20SRC_URI_append_class-target = " \
21 ${@bb.utils.contains('PACKAGECONFIG', 'secureboot', 'http://www.openssl.org/source/openssl-1.0.2j.tar.gz;name=openssl;subdir=${S}/CryptoPkg/Library/OpensslLib', '', d)} \ 21 ${@bb.utils.contains('PACKAGECONFIG', 'secureboot', 'http://www.openssl.org/source/openssl-1.0.2j.tar.gz;name=openssl;subdir=${S}/CryptoPkg/Library/OpensslLib', '', d)} \
22 file://0007-OvmfPkg-EnrollDefaultKeys-application-for-enrolling-.patch \
22" 23"
23 24
24SRCREV="4575a602ca6072ee9d04150b38bfb143cbff8588" 25SRCREV="4575a602ca6072ee9d04150b38bfb143cbff8588"
@@ -136,6 +137,7 @@ do_compile_class-target() {
136 ln ${build_dir}/FV/OVMF.fd ${WORKDIR}/ovmf/ovmf.fd 137 ln ${build_dir}/FV/OVMF.fd ${WORKDIR}/ovmf/ovmf.fd
137 ln ${build_dir}/FV/OVMF_CODE.fd ${WORKDIR}/ovmf/ovmf.code.fd 138 ln ${build_dir}/FV/OVMF_CODE.fd ${WORKDIR}/ovmf/ovmf.code.fd
138 ln ${build_dir}/FV/OVMF_VARS.fd ${WORKDIR}/ovmf/ovmf.vars.fd 139 ln ${build_dir}/FV/OVMF_VARS.fd ${WORKDIR}/ovmf/ovmf.vars.fd
140 ln ${build_dir}/${OVMF_ARCH}/Shell.efi ${WORKDIR}/ovmf/
139 141
140 if ${@bb.utils.contains('PACKAGECONFIG', 'secureboot', 'true', 'false', d)}; then 142 if ${@bb.utils.contains('PACKAGECONFIG', 'secureboot', 'true', 'false', d)}; then
141 # See CryptoPkg/Library/OpensslLib/Patch-HOWTO.txt and 143 # See CryptoPkg/Library/OpensslLib/Patch-HOWTO.txt and
@@ -150,6 +152,7 @@ do_compile_class-target() {
150 ${S}/OvmfPkg/build.sh $PARALLEL_JOBS -a $OVMF_ARCH -b RELEASE -t ${FIXED_GCCVER} ${OVMF_SECURE_BOOT_FLAGS} 152 ${S}/OvmfPkg/build.sh $PARALLEL_JOBS -a $OVMF_ARCH -b RELEASE -t ${FIXED_GCCVER} ${OVMF_SECURE_BOOT_FLAGS}
151 ln ${build_dir}/FV/OVMF.fd ${WORKDIR}/ovmf/ovmf.secboot.fd 153 ln ${build_dir}/FV/OVMF.fd ${WORKDIR}/ovmf/ovmf.secboot.fd
152 ln ${build_dir}/FV/OVMF_CODE.fd ${WORKDIR}/ovmf/ovmf.secboot.code.fd 154 ln ${build_dir}/FV/OVMF_CODE.fd ${WORKDIR}/ovmf/ovmf.secboot.code.fd
155 ln ${build_dir}/${OVMF_ARCH}/EnrollDefaultKeys.efi ${WORKDIR}/ovmf/
153 fi 156 fi
154} 157}
155 158
@@ -159,8 +162,27 @@ do_install_class-native() {
159} 162}
160 163
161do_install_class-target() { 164do_install_class-target() {
165 # Content for UEFI shell iso. We install the EFI shell as
166 # bootx64/ia32.efi because then it can be started even when the
167 # firmware itself does not contain it.
168 install -d ${D}/efi/boot
169 install ${WORKDIR}/ovmf/Shell.efi ${D}/efi/boot/boot${@ "ia32" if "${TARGET_ARCH}" != "x86_64" else "x64"}.efi
170 if ${@bb.utils.contains('PACKAGECONFIG', 'secureboot', 'true', 'false', d)}; then
171 install ${WORKDIR}/ovmf/EnrollDefaultKeys.efi ${D}
172 fi
162} 173}
163 174
175# This always gets packaged because ovmf-shell-image depends on it.
176# This allows testing that recipe in all configurations because it
177# can always be part of a world build.
178#
179# However, EnrollDefaultKeys.efi is only included when Secure Boot is enabled.
180PACKAGES =+ "ovmf-shell-efi"
181FILES_ovmf-shell-efi = " \
182 EnrollDefaultKeys.efi \
183 efi/ \
184"
185
164do_deploy() { 186do_deploy() {
165} 187}
166do_deploy[cleandirs] = "${DEPLOYDIR}" 188do_deploy[cleandirs] = "${DEPLOYDIR}"