commit:     1bf61089297e21d870768a00e5103e23b0c611b6
Author:     Matthias Maier <tamiko <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 28 22:44:15 2019 +0000
Commit:     Matthias Maier <tamiko <AT> gentoo <DOT> org>
CommitDate: Sun Jul 28 23:17:33 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1bf61089

sys-firmware/edk2-ovmf: also create a convenience UefiShell.img

Package-Manager: Portage-2.3.69, Repoman-2.3.16
Signed-off-by: Matthias Maier <tamiko <AT> gentoo.org>

 sys-firmware/edk2-ovmf/edk2-ovmf-201905.ebuild | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/sys-firmware/edk2-ovmf/edk2-ovmf-201905.ebuild 
b/sys-firmware/edk2-ovmf/edk2-ovmf-201905.ebuild
index 246a3853850..6e9f4e3babf 100644
--- a/sys-firmware/edk2-ovmf/edk2-ovmf-201905.ebuild
+++ b/sys-firmware/edk2-ovmf/edk2-ovmf-201905.ebuild
@@ -12,6 +12,7 @@ DESCRIPTION="UEFI firmware for 64-bit x86 virtual machines"
 HOMEPAGE="https://github.com/tianocore/edk2";
 
 NON_BINARY_DEPEND="
+       app-emulation/qemu
        >=dev-lang/nasm-2.0.7
        >=sys-power/iasl-20160729
        ${PYTHON_DEPS}
@@ -123,6 +124,8 @@ src_compile() {
 
        . ./edksetup.sh
 
+       # Build all EFI firmware blobs:
+
        mkdir -p ovmf
 
        ./OvmfPkg/build.sh \
@@ -137,8 +140,17 @@ src_compile() {
                ${SECUREBOOT_BUILD_FLAGS} || die "OvmfPkg/build.sh failed"
 
        cp Build/OvmfX64/*/FV/OVMF_CODE.fd ovmf/OVMF_CODE.secboot.fd || die "cp 
failed"
-       cp Build/OvmfX64/*/X64/Shell.efi ovmf/ || dies "cp failed"
-       cp Build/OvmfX64/*/X64/EnrollDefaultKeys.efi ovmf || dies "cp failed"
+       cp Build/OvmfX64/*/X64/Shell.efi ovmf/ || die "cp failed"
+       cp Build/OvmfX64/*/X64/EnrollDefaultKeys.efi ovmf || die "cp failed"
+
+       # Build a convenience UefiShell.img:
+
+       mkdir -p iso_image/efi/boot || die "mkdir failed"
+       cp ovmf/Shell.efi iso_image/efi/boot/bootx64.efi || die "cp failed"
+       cp ovmf/EnrollDefaultKeys.efi iso_image || die "cp failed"
+       qemu-img convert --image-opts \
+               
driver=vvfat,floppy=on,fat-type=12,label=UEFI_SHELL,dir=iso_image \
+               ovmf/UefiShell.img || die "qemu-img failed"
 }
 
 src_install() {

Reply via email to