[GRUB iso multiboot]
- Auto detect and create entries for .iso files in /iso/
- Preserves its boot options!
- Small and lean, few entries lots of images
- For a new iso, same script. No need to tweak around.
- (as root) install grub into a usb stick
sudo mount /dev/sdX /mnt/multiboot sudo grub-install --boot-directory=/mnt/multiboot/boot/ /dev/sdX # where X is your device
- substitute the boot/ folder created by grub for this one
rsync -a grub-iso-multiboot/boot/ /mnt/multiboot/boot/
This theme was adapted from https://github.com/Dacha204/grub2-themes-Ettery
Working ISOs (check todo file for distros)
works fine, but has a custom entry. grub can't parse its isolinux.cfg.
Requires grub edit in its entry. change syslinux.cfg to one of: adgtk.cfg adtxt.cfg exithelp.cfg gtk.cfg isolinux.cfg menu.cfg prompt.cfg rqgtk.cfg rqtxt.cfg spkgtk.cfg stdmenu.cfg txt.cfg The `include` from grub interpretation of syslinux has a different behavior than the original.
NonWorking (come back to it later)
takes a while to load the iso, but then seems to hang with a black screen (where vanilla BSD goes on), not sure try again in verbose mode
# grub failed to parse isolinux.cfg with: error: syntax error. error: Incorrect command. error: syntax error.
# loads isolinux.cfg ok seems to hang after splash
# Boots the kernel but fails to find the root inside the iso from kernel command line. # memdisk would probably work here... # You can still manually mount /Mount/CD-ROM if your iso is in a compatible disk # but fat/vfat is not one of them. (so 1/2 working)
A modified autoiso.cfg (/boot/grub/scripts/autoiso.cfg) scans for .iso and .ISO files in /iso/ and creates an entry if it knows how to boot it by:
- via loopback.cfg if present (grub loopback)
- isolinux.cfg, the majority of linux ISOs use this
- custom detection for FreeBSD
boot/ was made with a patched version of grub to add the iso as a parameter. check the patch @ linux-extra-variable.diff (The one liner patch is public domain)
the "patch" was made against grub-2.02_rc1. got from: https://www.gnu.org/software/grub/
memdisk is a file from syslinux project. got from: http://www.syslinux.org/
Also check these projects, they have the same goal as this one.