public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Gerd Hoffmann" <kraxel@redhat.com>
To: devel@edk2.groups.io
Cc: Jiewen Yao <jiewen.yao@intel.com>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Laszlo Ersek <lersek@redhat.com>, Min Xu <min.m.xu@intel.com>,
	Tom Lendacky <thomas.lendacky@amd.com>,
	Oliver Steffen <osteffen@redhat.com>,
	Erdem Aktas <erdemaktas@google.com>,
	Ard Biesheuvel <ardb+tianocore@kernel.org>,
	Michael Roth <michael.roth@amd.com>
Subject: [edk2-devel] [PATCH v2 11/12] OvmfPkg/CI: copy shell to virtual drive
Date: Thu, 15 Feb 2024 11:25:02 +0100	[thread overview]
Message-ID: <20240215102503.273275-12-kraxel@redhat.com> (raw)
In-Reply-To: <20240215102503.273275-1-kraxel@redhat.com>

Place the EFI shell as EFI/BOOT/BOOT{ARCH}.EFI on the virtual drive.
This allows the "run to shell" CI test case to work even in case the
shell is not included in the firmware image.

This is needed because an followup patch will exclude the shell from
secure boot enabled builds.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 OvmfPkg/PlatformCI/PlatformBuildLib.py | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/OvmfPkg/PlatformCI/PlatformBuildLib.py b/OvmfPkg/PlatformCI/PlatformBuildLib.py
index f829738cdda4..00d454954bff 100644
--- a/OvmfPkg/PlatformCI/PlatformBuildLib.py
+++ b/OvmfPkg/PlatformCI/PlatformBuildLib.py
@@ -5,6 +5,7 @@
 # SPDX-License-Identifier: BSD-2-Clause-Patent
 ##
 import os
+import shutil
 import logging
 import io
 
@@ -181,7 +182,8 @@ class PlatformBuilder( UefiBuilder, BuildSettingsManager):
 
     def FlashRomImage(self):
         VirtualDrive = os.path.join(self.env.GetValue("BUILD_OUTPUT_BASE"), "VirtualDrive")
-        os.makedirs(VirtualDrive, exist_ok=True)
+        VirtualDriveBoot = os.path.join(VirtualDrive, "EFI", "BOOT")
+        os.makedirs(VirtualDriveBoot, exist_ok=True)
         OutputPath_FV = os.path.join(self.env.GetValue("BUILD_OUTPUT_BASE"), "FV")
 
         if (self.env.GetValue("QEMU_SKIP") and
@@ -189,6 +191,14 @@ class PlatformBuilder( UefiBuilder, BuildSettingsManager):
             logging.info("skipping qemu boot test")
             return 0
 
+        # copy shell to VirtualDrive
+        for arch in self.env.GetValue("TARGET_ARCH").split():
+            src = os.path.join(self.env.GetValue("BUILD_OUTPUT_BASE"), arch, "Shell.efi")
+            dst = os.path.join(VirtualDriveBoot, f'BOOT{arch}.EFI')
+            if os.path.exists(src):
+                logging.info("copy %s -> %s", src, dst)
+                shutil.copyfile(src, dst)
+
         #
         # QEMU must be on the path
         #
-- 
2.43.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#115515): https://edk2.groups.io/g/devel/message/115515
Mute This Topic: https://groups.io/mt/104370215/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



  parent reply	other threads:[~2024-02-15 10:25 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-15 10:24 [edk2-devel] [PATCH v2 00/12] OvmfPkg: tweak shell builds Gerd Hoffmann
2024-02-15 10:24 ` [edk2-devel] [PATCH v2 01/12] OvmfPkg: add ShellComponents.dsc.inc Gerd Hoffmann
2024-02-15 10:24 ` [edk2-devel] [PATCH v2 02/12] OvmfPkg: add ShellLibs.dsc.inc Gerd Hoffmann
2024-02-16 17:29   ` Laszlo Ersek
2024-02-15 10:24 ` [edk2-devel] [PATCH v2 03/12] OvmfPkg: add ShellDxe.fdf.inc Gerd Hoffmann
2024-02-15 10:24 ` [edk2-devel] [PATCH v2 04/12] OvmfPkg: Shell*.inc: allow building without network support Gerd Hoffmann
2024-02-16 17:34   ` Laszlo Ersek
2024-02-15 10:24 ` [edk2-devel] [PATCH v2 05/12] OvmfPkg: ShellDxe.fdf.inc: add VariablePolicyDynamicCommand to FV Gerd Hoffmann
2024-02-15 10:24 ` [edk2-devel] [PATCH v2 06/12] OvmfPkg: switch OvmfPkgIa32 to new shell include files Gerd Hoffmann
2024-02-15 10:24 ` [edk2-devel] [PATCH v2 07/12] OvmfPkg: switch OvmfPkgIa32X64 " Gerd Hoffmann
2024-02-15 10:24 ` [edk2-devel] [PATCH v2 08/12] OvmfPkg: switch AmdSevX64 " Gerd Hoffmann
2024-02-16 17:38   ` Laszlo Ersek
2024-02-15 10:25 ` [edk2-devel] [PATCH v2 09/12] OvmfPkg: switch IntelTdxX64 " Gerd Hoffmann
2024-02-16 17:40   ` Laszlo Ersek
2024-02-15 10:25 ` [edk2-devel] [PATCH v2 10/12] OvmfPkg: switch MicrovmX64 " Gerd Hoffmann
2024-02-15 10:25 ` Gerd Hoffmann [this message]
2024-02-16 17:42   ` [edk2-devel] [PATCH v2 11/12] OvmfPkg/CI: copy shell to virtual drive Laszlo Ersek
2024-02-15 10:25 ` [edk2-devel] [PATCH v2 12/12] OvmfPkg: only add shell to FV in case secure boot is disabled Gerd Hoffmann
2024-02-16 17:56   ` Laszlo Ersek
2024-02-19 10:21     ` Gerd Hoffmann
2024-02-19 20:06       ` Laszlo Ersek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240215102503.273275-12-kraxel@redhat.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox