I actually got this working with syslinux. It was pretty confusing but I'll try to lay out what I did (hopefully I'll get all this right). What I did was similar to what's described here:
https://wiki.archlinux.org/index.php/Mu ... nd_memdisk
A few things to note: As noted above the ISO used gets loaded into memory so this isn't suitable for very large images. In my case the USB device was /dev/sdc and I mounted it's one partition at the directory /mnt/sdc1. Adjust these for your specific case of course.
Since the USB drive had an existing image put on it with dd I used fdisk to remove the partitions. Then I creates 1 primary partition, and used the "a" option to enable the boot option on that partition. Then I did the following:
I created a fat file system with:
Then I added the syslinux MBR (be VERY careful):
Code: Select all
dd bs=440 conv=notrunc count=1 if=/usr/share/syslinux/mbr.bin of=/dev/sdc
Then I mounted it with:
...and did the following:
Code: Select all
mkdir -p /mnt/sdc1/boot/extlinux
extlinux --install /mnt/sdc1/boot/extlinux
cd /usr/share/syslinux
cp menu.c32 memdisk libcom32.c32 libutil.c32 /mnt/sdc1/boot/extlinux
Then I created the syslinux config file at /mnt/sdc1/boot/extlinux/syslinux.cfg with this:
Code: Select all
cat /mnt/sdc1/boot/extlinux/syslinux.cfg
UI menu.c32
LABEL wdlifeguard.iso
LINUX memdisk
INITRD /wdlifeguard.img
APPEND raw
LABEL clonezilla-live-2.7.0-10-amd64.iso
LINUX memdisk
INITRD /clonezilla-live-2.7.0-10-amd64.iso
APPEND iso
LABEL memtest86+-5.01.iso
LINUX memdisk
INITRD /memtest86+-5.01.iso
APPEND iso
Note that all the files in those INITRD lines were copied to the root of the file system...that is, to /mnt/sdc1 in my case. Also note that, as per the explanation here:
https://wiki.syslinux.org/wiki/index.ph ... DISK#Usage
...that wdlifeguard.img (Western Digital Lifeguard) uses "APPEND raw" as it's a DOS disk (that boots to an A:> prompt) while the other two are bootable ISO images and use "APPEND iso".
Note that I tested this on a Windows laptop and that required going into the setup a) disabling secure boot, and b) allowing both UEFI or legacy BIOS booting. In any case, sure enough I got a menu with those three options and they all worked.
Tom