diff options
Diffstat (limited to 'meta/recipes-core/ovmf/ovmf_git.bb')
-rw-r--r-- | meta/recipes-core/ovmf/ovmf_git.bb | 22 |
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 | ||
20 | SRC_URI_append_class-target = " \ | 20 | SRC_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 | ||
24 | SRCREV="4575a602ca6072ee9d04150b38bfb143cbff8588" | 25 | SRCREV="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 | ||
161 | do_install_class-target() { | 164 | do_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. | ||
180 | PACKAGES =+ "ovmf-shell-efi" | ||
181 | FILES_ovmf-shell-efi = " \ | ||
182 | EnrollDefaultKeys.efi \ | ||
183 | efi/ \ | ||
184 | " | ||
185 | |||
164 | do_deploy() { | 186 | do_deploy() { |
165 | } | 187 | } |
166 | do_deploy[cleandirs] = "${DEPLOYDIR}" | 188 | do_deploy[cleandirs] = "${DEPLOYDIR}" |