0

I find the variety of ISO-to-USB "burning" tools a bit baffling. Each seems to have its own slightly different approach to the problem, which vary from more of a DD-style direct copy (which wipes any existing contents and results in read only iso9660-formatted USB media) to mounting the ISO on loopback, copying the files, and doing bootloader installation as a post-copy step.

So far I've played with Etcher, UNetbootin, Rufus, and Ubuntu's Startup Disk Creator. I'm really looking for a solution that's consistent and cross-platform, and it's been particularly frustrating that both Etcher and UNetbootin seem to be able to create bootable media in their Mac versions but then not from Linux (either in a VM or a native machine)— like, they'll appear to succeed, but the end result simply won't boot.

In any case, to back the discussion up a little bit, this is my current method for creating the supposedly bootable ISO file:

  • Download and unpack latest syslinux from https://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-6.03.tar.xz
  • Download netboot linux and initrd.gz from http://archive.ubuntu.com/ubuntu/dists/xenial-updates/main/installer-amd64/current/images/netboot/ubuntu-installer/amd64/
  • Run mkisofs -D -V "My App" -r -quiet -o path/to/result.iso -J -l -b syslinux/isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table file1.txt file2.txt file3.txt ...
  • Run syslinux/bios/utils/isohybrid.pl path/to/result.iso

Some notes:

  • The resulting ISO file (including without the final isohybrid.pl step) can be mounted and booted as a CD-ROM under Parallels.
  • If I burn it to physical USB with Etcher, the result is mountable as iso9660, but does not seem to be bootable on my target AMD64 systems (yes, in "legacy" mode).
  • Without the isohybrid.pl step, Etcher refused to try burning to physical USB.
  • If I burn it to physical USB with UNetbootin under Mac OS, I get a bootable result, but if I do it with the same version of UNetbootin under Linux, the result is non-bootable.
  • The only tool that consistently works is Rufus, but it is Windows-only and so inconvenient for many of my users.

I'm hopeful that some others out there have run into these issues and have ideas for what is going wrong or a workable method— if it ends up having to be a command line or Linux-only solution, that is acceptable to me, although obviously not ideal. I'm also open to moving on from Syslinux to Grub or some other solution with EFI support, if that will make things easier.

With tools like Etcher out there, it seems certain that there's a way to create a bootable ISO that can be conveniently burned from any of the supported OSes.

0

Hmm, okay it seems that the ISO that has had isohybrid run on it as described above is actually bootable on several physical machines— so I'm considering at this point that this is an issue with Parallels and a few quirky BIOS setups.

Some more info from Etcher documentation and an Ubuntu mailing list:

https://github.com/resin-io/etcher/blob/master/docs/USER-DOCUMENTATION.md#flashing-ubuntu-isos

https://lists.ubuntu.com/archives/ubuntu-devel/2011-June/033495.html

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.