On 04/26/22 16:31, Richard W.M. Jones wrote: > On Tue, Apr 26, 2022 at 03:38:23PM +0200, Laszlo Ersek wrote: >> Including the shim-x64 and grub2-efi-x64-cdboot packages causes >> livecd-creator to automatically build a UEFI-bootable CD. >> >> I didn't modify the dependencies for distros other than the RH family, >> because: >> >> - I checked Debian briefly for any package providing a file ending with >> "BOOTX64.EFI", and the only hit was irrelevant (it was a systemd file). >> >> - Kickstart is RH-specific anyway. > > This is correct - we don't recommend any Debian-specific way to build > virt-p2v (except maybe the virt-builder method, but that has some > drawbacks). SUSE contributed their own tool, using "kiwi". A Debian- > based tool would presumably have to use the bootcd method > (https://packages.debian.org/stable/bootcd), but no one has > contributed that support. > > The dependencies.m4 file is shared across all distros (as well as > having per-distro sections) but as long as it doesn't regress on other > distros then it's all fine. > >> Tested with an actual conversion: >> >> - Built the ISO with the following livecd-creator and dnf fixes included: >> - https://github.com/rpm-software-management/dnf/pull/1825 >> - https://github.com/livecd-tools/livecd-tools/pull/227 >> >> - Booted the P2V ISO in UEFI mode on QEMU, against a previously installed >> (UEFI) RHEL-7.9 guest's disk. >> >> - Converted the guest with the help of a virt-v2v conversion server VM, >> using the QEMU output module. >> >> - Successfully booted the converted guest. >> >> Thanks: Neal Gompa <[email protected]> >> Cc: Neal Gompa <[email protected]> >> Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2038105 >> Signed-off-by: Laszlo Ersek <[email protected]> >> --- >> dependencies.m4 | 4 ++++ >> virt-p2v-make-kickstart.pod | 14 +++++++++++++- >> 2 files changed, 17 insertions(+), 1 deletion(-) >> >> diff --git a/dependencies.m4 b/dependencies.m4 >> index fc3715e4d3c7..8a88b61d3120 100644 >> --- a/dependencies.m4 >> +++ b/dependencies.m4 >> @@ -59,6 +59,10 @@ ifelse(REDHAT,1, >> >> dnl RHBZ#1157679 >> @hardware-support >> + >> + dnl UEFI Boot (RHBZ#2038105) >> + shim-x64 >> + grub2-efi-x64-cdboot >> ) > > Just adding packages for Fedora/RHEL cannot regress other distros. If > we try to build virt-p2v for some old RHEL, it won't have these > packages, which is not a problem as it will continue to build the old > BIOS-based image. > >> ifelse(DEBIAN,1, >> diff --git a/virt-p2v-make-kickstart.pod b/virt-p2v-make-kickstart.pod >> index c5e23d59222a..eda0c737c2e8 100644 >> --- a/virt-p2v-make-kickstart.pod >> +++ b/virt-p2v-make-kickstart.pod >> @@ -147,7 +147,7 @@ RHEL 6-based virt-p2v 0.9 they can boot on any hardware. >> >> =head2 TESTING THE P2V ISO USING QEMU >> >> -You can use qemu to test-boot the P2V ISO: >> +You can use qemu to test-boot the P2V ISO (BIOS mode): >> >> qemu-kvm -m 1024 -hda /tmp/guest.img -cdrom /tmp/livecd-p2v.iso -boot d >> >> @@ -155,6 +155,18 @@ Note that C<-hda> is the (virtual) system that you want >> to convert >> (for test purposes). It could be any guest type supported by >> L<virt-v2v(1)>, including Windows or Red Hat Enterprise Linux. >> >> +For UEFI: >> + >> + qemu-kvm -m 1024 -M q35 \ >> + -drive >> if=pflash,format=raw,file=/usr/share/OVMF/OVMF_CODE.fd,readonly=on \ >> + -drive >> if=pflash,format=raw,file=/usr/share/OVMF/OVMF_VARS.fd,snapshot=on \ >> + \ >> + -drive if=none,format=raw,file=/tmp/guest.img,media=disk,id=guest-disk >> \ >> + -device ide-hd,drive=guest-disk,bus=ide.0 \ >> + \ >> + -drive >> if=none,format=raw,file=/tmp/livecd-p2v.iso,media=cdrom,id=p2v-cdrom \ >> + -device ide-cd,drive=p2v-cdrom,bus=ide.1,bootindex=1 >> + >> =head2 TESTING PXE SUPPORT USING QEMU >> > > Looks good, so: > > Reviewed-by: Richard W.M. Jones <[email protected]>
Commit 6a16343eba27. Thank you! Laszlo _______________________________________________ Libguestfs mailing list [email protected] https://listman.redhat.com/mailman/listinfo/libguestfs
