Description of problem: I created an iso image from a custom kickstart file. The image is not bootable under ElTorito. The affected (sub)package is python3-imgcreate-28.1-1.fc34.x86_64 Version-Release number of selected component (if applicable): 28.1-1.fc34 How reproducible: Try to create an iso image Steps to Reproduce: 1. sudo livecd-creator kickstart.ks 2. wait for the iso image to be created 3. test the iso image with qemu-system-x86_64 -enable-kvm -m 4096 -cdrom ./image.iso Actual results: The image does not boot under bios. Expected results: The image should be bootable both under UEFI and in ElTorito compatibility mode. Additional info: It appears that in file /usr/lib/python3.9/site-packages/imgcreate/live.py the proper options for xorrisofs are not set. We have in class x86LiveImageCreator the following def _get_xorrisofs_options(self,isodir): options = [] if os.path.exists(os.path.join(isodir, "images/efiboot.img")): options+=["-no-emul-boot", "-isohybrid-gpt-basdat", "-isohybrid-mbr", "/usr/share/syslinux/isohdpfx.bin", "-eltorito-boot", "isolinux/isolinux.bin", "-boot-load-size", "4", "-boot-info-table", "-eltorito-catalog", "isolinux/boot.cat", "-eltorito-alt-boot", "-e", "images/efiboot.img" ] However, some options however should be set unconditionally (or, at least, they do not depend on efiboot.img). So the code should rather be def _get_xorrisofs_options(self, isodir): options = [ "-no-emul-boot", "-isohybrid-gpt-basdat", "-isohybrid-mbr", "/usr/share/syslinux/isohdpfx.bin", "-eltorito-boot", "isolinux/isolinux.bin", "-boot-load-size", "4", "-boot-info-table", "-eltorito-catalog", "isolinux/boot.cat"] if os.path.exists(os.path.join(isodir, "images/efiboot.img")): options += ["-eltorito-alt-boot", "-e", "images/efiboot.img" ] With this patch it appears that the disk is correctly generated.
I update my previous remarks. The image created with the patch boots in bios mode, but not in EFI mode. It seems that the cause is that shimx64.efi is copied with the name BOOTx64.efi but part of the script looks for the old name.
Incidentally, a minimal example of the problem is with livecd-creator --config=/usr/share/doc/livecd-tools/livecd-fedora-minimal.ks The created image is not bootable. The relevant transcript is: Traceback (most recent call last): File "/usr/sbin/mkefiboot", line 168, in <module> main() File "/usr/sbin/mkefiboot", line 161, in main mkefiboot(opt.bootdir, opt.outfile, opt.label) File "/usr/sbin/mkefiboot", line 33, in mkefiboot mkdosimg(None, outfile, label=label, graft={'EFI/BOOT':bootdir}) File "/usr/lib/python3.9/site-packages/pylorax/imgutils.py", line 515, in mkdosimg mkfsimage("msdos", rootdir, outfile, size, mountargs=mountargs, File "/usr/lib/python3.9/site-packages/pylorax/imgutils.py", line 489, in mkfsimage with LoopDev(outfile, size) as loopdev: File "/usr/lib/python3.9/site-packages/pylorax/imgutils.py", line 355, in __init__ mksparse(self.filename, size) File "/usr/lib/python3.9/site-packages/pylorax/imgutils.py", line 143, in mksparse with open(outfile, "w") as fobj: FileNotFoundError: [Errno 2] No such file or directory: '/var/tmp/imgcreate-qr244tp5/is o-xlh3c83a/images/efiboot.img' Traceback (most recent call last): File "/usr/sbin/mkefiboot", line 168, in <module> main() File "/usr/sbin/mkefiboot", line 158, in main mkmacboot(opt.bootdir, opt.outfile, opt.label, opt.icon, opt.product, File "/usr/sbin/mkefiboot", line 45, in mkmacboot mkhfsimg(None, outfile, label=label, graft=graft, size=size) File "/usr/lib/python3.9/site-packages/pylorax/imgutils.py", line 530, in mkhfsimg mkfsimage("hfsplus", rootdir, outfile, size, mountargs=mountargs, File "/usr/lib/python3.9/site-packages/pylorax/imgutils.py", line 489, in mkfsimage with LoopDev(outfile, size) as loopdev: File "/usr/lib/python3.9/site-packages/pylorax/imgutils.py", line 355, in __init__ mksparse(self.filename, size) File "/usr/lib/python3.9/site-packages/pylorax/imgutils.py", line 143, in mksparse with open(outfile, "w") as fobj: FileNotFoundError: [Errno 2] No such file or directory: '/var/tmp/imgcreate-qr244tp5/iso-xlh3c83a/images/macboot.img'
I apologize if I keep on adding comments, but now I am looking at mkefiboot (which perhaps is the true culprit). in /usr/lib/python3.9/site-packages/pylorax/imgutils.py there is the following line dev = runcmd_output(["losetup", "--find", "--show", outfile]).strip() which should call losetup with the proper parameters. However, even if outfile exists, it does fail. Actually, after I created a file out.img also this fails from pylorax.executils import runcmd, runcmd_output runcmd(["losetup","--find","--show","out.img"]).strip() while the shell command losetup --find --show ./out.img runs correctly
FEDORA-EPEL-2021-28a6b0ea69 has been submitted as an update to Fedora EPEL 8. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2021-28a6b0ea69
FEDORA-2021-d997907ec1 has been submitted as an update to Fedora 33. https://bodhi.fedoraproject.org/updates/FEDORA-2021-d997907ec1
FEDORA-2021-b5ad7217c5 has been submitted as an update to Fedora 34. https://bodhi.fedoraproject.org/updates/FEDORA-2021-b5ad7217c5
FEDORA-2021-d997907ec1 has been pushed to the Fedora 33 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-d997907ec1` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-d997907ec1 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2021-b5ad7217c5 has been pushed to the Fedora 34 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-b5ad7217c5` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-b5ad7217c5 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-EPEL-2021-28a6b0ea69 has been pushed to the Fedora EPEL 8 testing repository. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2021-28a6b0ea69 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-EPEL-2021-28a6b0ea69 has been pushed to the Fedora EPEL 8 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-2021-d997907ec1 has been pushed to the Fedora 33 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-2021-b5ad7217c5 has been pushed to the Fedora 34 stable repository. If problem still persists, please make note of it in this bug report.