neurobin / JLIVECD

Live cd/dvd customization tool
https://neurobin.org/projects/softwares/unix/JLIVECD/
GNU General Public License v2.0
89 stars 24 forks source link

After Updating My System, JLiveCD doesn't create UEFI enabled ISO #24

Open ClaudiaKlees opened 5 years ago

ClaudiaKlees commented 5 years ago

Up until recently when I updated my system, with JLiveCD, I was able to create ISO images with UEFI. No problems.

Now, when I enable the UEFI option towards the end of the configuration, JLiveCD completely fails making an ISO. I get the following towards the end: *** Using exhaustive compression. Size may become lesser Parallel mksquashfs: Using 4 processors Creating 4.0 filesystem on extracted/live/filesystem.squashfs, block size 131072. [=========================================================|] 259158/259158 100% ...

*** Updating md5sums

*** Creating the image
genisoimage: option '-e' is ambiguous; possibilities: '--eltorito-boot' '--exchange' '--ethershare' '--exclude-list' '--exclude' '--eltorito-catalog' '--eltorito-alt-boot'
Usage: genisoimage [options] -o file directory ...

Use genisoimage -help
to get a list of valid options.

Report problems to debburn-devel@lists.alioth.debian.org.
isohybrid: could not open file '../myLiveCD.iso': No such file or directory

W: Could not convert to hybrid image

*** Finalizing image
chmod: cannot access '../myLiveCD.iso': No such file or directory

*** .All done. Check the result.
Press enter to exit

Upon searching through the directory, the squashfs DOES exist in /extracted/live/filesystem.squashfs, and I'm able to manually make an ISO using tools such as genisoimg, it just will not have the EFI support.

Also, if I select 'n' for UEFI support, thereby disabling UEFI support, it succeeds in creating a normal vanilla ISO with JLiveCD that will boot in Legacy mode.

Note 1: I am doing this on an external USB Stick formatted with an EXT3 file system, with complete permissions to the folder, and folders two levels above it. Everything works besides this part, and I wouldn't know why that is relevant, but I might as well make mention of that in case it is.

Note 2: If I try to make a JLIVECD ISO and it fails because of the UEFI, there still is an EFI.img located in extracted/boot/grub/efi.img. When I manually try to make the ISO with other tools, It seems to not do anything upon boot, however, and only Legacy boot works.

Note 3: It's Debian Big fan of this project, by the way. Complete verbose attached in log file. bash_log.txt

ClaudiaKlees commented 5 years ago

UPDATE Work-around found. Strange that I find a work-around the day I post it, despite the issue existing longer for me. For those who need a work-around, using Xorriso, inside extracted directory of project:

cd extracted
xorriso -as mkisofs   -o /opt/myLiveCD.iso -c isolinux/boot.cat   -b isolinux/isolinux.bin    -no-emul-boot -boot-load-size 4 -boot-info-table   -eltorito-alt-boot   -e boot/grub/efi.img    -no-emul-boot    -isohybrid-gpt-basdat    -r -J   /path/to/project/dir/extracted

This will create an iso file inside /opt/ Change directory address if you want it somewhere else. /path/to/project/dir/extracted is the path to your project directory for JLiveCD's 'extracted' folder, and The result will be a UEFI enabled iso, but it will not be a hybrid iso for those that need one.

Maybe this work-around can be integrated into a forked version of JLiveCD? We'd need an additional dependency installed first, though.

neurobin commented 5 years ago

There is another workaround: https://stackoverflow.com/a/35383069/3744681