Skip to content

Instantly share code, notes, and snippets.

@gise88
Forked from jeekl/gist:5564476
Created November 13, 2015 15:08
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gise88/61febf233366306f258a to your computer and use it in GitHub Desktop.
Save gise88/61febf233366306f258a to your computer and use it in GitHub Desktop.
usb stick booting multiple linux isos
# mkfs.vfat -n multi-linux /dev/sdc1
# mount /dev/sdc1 /media/usb
# mkdir /media/usb/{boot,iso}
# grub-install --force --no-floppy --boot-directory=/media/usb/boot /dev/sdc
... download a bunch of isos ...
# ls /media/usb/iso
debian-7.0.0-amd64-firmware-netinst.iso* grml64-full_2013.02.iso* memtest86+-4.20.bin* tails-i386-0.17.2.iso*
debian-live-7.0.0-amd64-gnome-desktop+nonfree.iso* kali-linux-1.0.3-amd64.iso* memtest86+-4.20.iso* ubuntu-13.04-desktop-amd64.iso*
# cat <<EOH>/media/usb/boot/grub/grub.cfg
# Config for GNU GRand Unified Bootloader (GRUB)
# /boot/grub/grub.cfg
# Timeout for menu
#set timeout=30
# Default boot entry
#set default=0
# Menu Colours
set menu_color_normal=white/black
set menu_color_highlight=white/green
# Boot ISOs
menuentry "TAILS - The Amnesic Incognito Live System" {
set iso="/iso/tails-i386-0.17.2.iso"
loopback loop $iso
linux (loop)/live/vmlinuz boot=live config live-media=removable nopersistent noprompt quiet timezone=Europe/Stockholm block.events_dfl_poll_msecs=1000 splash nox11autologin module=Tails findiso=$iso quiet_
initrd (loop)/live/initrd.img
}
menuentry "GRML - the sysadmins best friend" {
set iso="/iso/grml64-full_2013.02.iso"
loopback loop $iso
set root=(loop)
configfile /boot/grub/loopback.cfg
}
menuentry "Debian 7.0 Wheezy AMD64 Installer (netinst, firmware)" {
set iso="/iso/debian-7.0.0-amd64-firmware-netinst.iso"
loopback loop $iso
linux (loop)/install.amd/vmlinuz
initrd (loop)/install.amd/initrd.gz
}
menuentry "Debian 7.0 Wheezy AMD64 Live system (GNOME, firmware/non-free)" {
set iso="/iso/debian-live-7.0.0-amd64-gnome-desktop+nonfree.iso"
loopback loop $iso
linux (loop)/live/vmlinuz boot=live
initrd (loop)/live/initrd.img
}
menuentry "Kali 1.0.3 - Penetration Testing Linux Desktop amd64" {
set iso="/iso/kali-linux-1.0.3-amd64.iso"
bootoptions="findiso=$iso boot=live noconfig=sudo username=root hostname=kali quiet splash"
search --set -f $iso
loopback loop $iso
linux (loop)/live/vmlinuz $bootoptions
initrd (loop)/live/initrd.img
}
menuentry "Kali 1.0.3 - Penetration Testing Linux Desktop amd64 (forensic)" {
set iso="/iso/kali-linux-1.0.3-amd64.iso"
bootoptions="findiso=$iso boot=live noconfig=sudo username=root hostname=kali noswap noautomount"
search --set -f $iso
loopback loop $iso
linux (loop)/live/vmlinuz $bootoptions
initrd (loop)/live/initrd.img
}
menuentry "Ubuntu 13.04 AMD64 Desktop" {
set iso="/iso/ubuntu-13.04-desktop-amd64.iso"
loopback loop $iso
linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$iso noprompt noeject
initrd (loop)/casper/initrd.lz
}
menuentry "Memtest86+" {
linux16 /iso/memtest86+-4.20.bin
}
EOH
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment