[PATCH 06/27] scripts: Update build-efi to support passing a root disk
Simon Glass
sjg at chromium.org
Wed May 28 10:24:32 CEST 2025
Add a -d option to specify a root disk to boot with.
Signed-off-by: Simon Glass <sjg at chromium.org>
---
scripts/build-efi | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/scripts/build-efi b/scripts/build-efi
index 4eb3a76d1a2..5a6eef450d4 100755
--- a/scripts/build-efi
+++ b/scripts/build-efi
@@ -42,6 +42,8 @@ def parse_args():
help='Run on ARM architecture')
parser.add_argument('-B', '--no-build', action='store_true',
help="Don't build (an existing build must be present")
+ parser.add_argument('-d', '--disk',
+ help='Root disk image file to use with QEMU')
parser.add_argument(
'-k', '--kvm', action='store_true',
help='Use KVM (Kernel-based Virtual Machine) for acceleration')
@@ -142,10 +144,19 @@ class BuildEfi:
'-drive',
f'if=virtio,file={os_path},format=raw,id=hd0,readonly=on'])
+ img_fname = Path(self.args.disk) if self.args.disk else None
+ if img_fname:
+ if img_fname.exists():
+ extra.extend([
+ '-drive',
+ f'if=virtio,file={img_fname},format=raw,id=hd1'])
+ else:
+ tout.warning(f"Disk image '{img_fname}' not found")
+
print(f'Running {qemu}{serial_msg}')
# Use 512MB since U-Boot EFI likes to have 256MB to play with
- if self.args.os:
+ if self.args.os or self.args.disk:
mem = '4G'
extra.extend(['-smp', '4'])
else:
--
2.43.0
More information about the U-Boot
mailing list