virt-v2v/0007-convert-convert_linux.ml-Add-debian-12-UEFI.patch
Richard W.M. Jones fbac429673 Fix Debian 12 UEFI conversions
resolves: RHEL-144467

Fix import when datastore name has characters like '+'
resolves: RHEL-133729

Also reworks:
  Remove reduce-memory-pressure=on as workaround for Dell Powermax 8000
  resolves: RHEL-135617
2026-01-27 15:50:33 +00:00

58 lines
2.5 KiB
Diff

From 3ef1078cd3cf5a56dc8023ed113838533d9cea09 Mon Sep 17 00:00:00 2001
From: Martin Necas <mnecas@redhat.com>
Date: Tue, 27 Jan 2026 21:56:41 +0900
Subject: [PATCH] convert/convert_linux.ml: Add debian 12 UEFI
When migrating Debian 12 VM with UEFI the VM fails to boot as we don't
preserve the UEFI configuration. Debian has similar mechanism as ubuntu
so we can reuse it.
Fixes: https://issues.redhat.com/browse/RHEL-144467
Signed-off-by: Martin Necas <mnecas@redhat.com>
(cherry picked from commit 161679267f2100e3604dca3f5bfa0827e9a5de30)
---
convert/convert_linux.ml | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/convert/convert_linux.ml b/convert/convert_linux.ml
index 6c021efb..ce02b04a 100644
--- a/convert/convert_linux.ml
+++ b/convert/convert_linux.ml
@@ -1324,13 +1324,15 @@ fi
g inspect.i_root "fix uefi boot" fix_script)
else
cant_fix_uefi ()
- | "ubuntu", 14 ->
+ | ("ubuntu", 14) | ("debian", 12)->
(* to make a bootable uefi ubuntu 14 we need to
* copy shim<arch>.efi to UEFI fallback path
* and rename it to BOOT<arch>.efi, also we copy
* grub.efi and grub.cfg to UEFI fallback path without renaming *)
let arch_suffix = String.lowercase_ascii suffix in
+ let distro = inspect.i_distro in
+
let shim =
String.concat "" [grub_path; "/shim"; arch_suffix; ".efi"] in
let uefi_grub_name =
@@ -1346,14 +1348,14 @@ fi
* if not, then just don't clean up and leave the temp loader
* at UEFI fallback path for simplicity
*)
- if String.find shim "/boot/efi/EFI/ubuntu/shim" >= 0 then
+ if String.find shim (sprintf "/boot/efi/EFI/%s/shim" distro) >= 0 then
let fix_script =
sprintf
"#!/bin/bash\n\
- sudo efibootmgr -c -L ubuntu \
- -l \\\\EFI\\\\ubuntu\\\\shim%s.efi\n\
+ sudo efibootmgr -c -L %s \
+ -l \\\\EFI\\\\%s\\\\shim%s.efi\n\
rm -rf %s"
- arch_suffix uefi_fallback_path in
+ distro distro arch_suffix uefi_fallback_path in
Firstboot.add_firstboot_script
g inspect.i_root "fix uefi boot" fix_script
else