#!/bin/bash
#
# PMT, 3 Jan 2010, mail@p-mt.net
# Version 0.55
#
# this script generates a Multiboot flash drive
# documentation: http://blog.p-mt.net/archives/644
#

# Hint:
# test usb flash drive: sudo qemu -m 512 -hda /dev/sdb
#

# preparing usb flash drive
#
# create filesystem on flash drive:
# DEVICE=/dev/sdb
# USB_LABEL="MultiBootUSB"
# sudo mkfs.vfat -n $USB_LABEL ${DEVICE}1
#
# install grub2 on flash drive:
# sudo apt-get install grub2
# [ ! -d /media/$USB_LABEL ] && sudo mkdir /media/$USB_LABEL
# sudo mount ${DEVICE}1 /media/$USB_LABEL 
# sudo grub-install --no-floppy --root-directory=/media/$USB_LABEL ${DEVICE}


# ###### Configuration ################################################
# flash drive label
USB_LABEL="PMTstick"
# flash drive mount path
MOUNTDIR=/media/$USB_LABEL
# path on flash drive where the iso images shall reside
ISOPATH=/boot/iso
# Path to grub directory on pendrive
GRUBPATH=/boot/grub
# uncomment the following line if iso's shall be downloaded
# DOWNLOAD=1 
# uncomment the following line if iso's shall get md5sum check
# MD5SUM_CHECK=1 
# uncomment the following line if you want also broken/testing menuentries
TESTING=1 
# Background image for the boot menu
SPLASH_IMAGE=/boot/grub/pmt.tga
# #####################################################################

# create mount point, mount flash drive, create directories, 
# download splash image, etc.
[ ! -d $MOUNTDIR ] && sudo mkdir $MOUNTDIR
[ ! "`mount | grep  $USB_LABEL`" ] && sudo mount /dev/disk/by-label/$USB_LABEL $MOUNTDIR
DOWNLOADPATH=$MOUNTDIR/$ISOPATH
[ ! -d $DOWNLOADPATH ] &&  mkdir $DOWNLOADPATH
[ $DOWNLOAD ] && sudo wget http://blog.p-mt.net/wp-content/uploads/2009/12/pmt.tga -P $MOUNTDIR/$GRUBPATH
[ $DOWNLOAD ] && sudo wget http://blog.p-mt.net/wp-content/uploads/2009/12/jolie.tga -P $MOUNTDIR/$GRUBPATH
[ $DOWNLOAD ] && sudo wget http://blog.p-mt.net/wp-content/uploads/2009/12/pitt.tga -P $MOUNTDIR/$GRUBPATH
[ $DOWNLOAD ] && sudo wget http://blog.p-mt.net/wp-content/uploads/2009/12/monroe.tga -P $MOUNTDIR/$GRUBPATH
[ $DOWNLOAD ] && sudo wget http://blog.p-mt.net/wp-content/uploads/2009/12/monroe2.tga -P $MOUNTDIR/$GRUBPATH
[ $DOWNLOAD ] && sudo wget http://blog.p-mt.net/wp-content/uploads/2009/12/unicode.pf2 -P $MOUNTDIR/$GRUBPATH

# ###### ISO Configuration ############################################

UBUNTU=10
UBUNTU_LTS=20
DEBIAN=30
SIDUX=40
#MOONOS=50
GRML=6o
PMAGIC=70
SLAX=80
TINYCORE=90
XPUD=100
SRCD=110
BACKTRACK=120
NETBOOT=130
MEMTEST=140
#PUPPY=150
#BACKTRACK=160
SLITAZ=170

WP_DE_URL="http://de.wikipedia.org/wiki/"
WP_EN_URL="http://en.wikipedia.org/wiki/"
DW_URL="http://distrowatch.com/table.php?distribution="

# Xy
NAME[$XY]=""
STATUS[$XY]="" # stable, test 
TITLE[$XY]=""
DATE[$XY]="2009-10-24"
D_URL[$XY]="http://"
LOGO_EXTERN[$XY]="http://"
LOGO[$XY]=${LOGO_EXTERN[$XY]}
[ $DOWNLOAD ] && sudo wget ${D_URL[$XY]} -P $DOWNLOADPATH
ISO[$XY]=`basename ${D_URL[$XY]}`
MD5SUM[$SIDUX]=""
ISO_MBYTE[$XY]=xx
HP[$XY]="http://"
DW[$XY]="${DW_URL}xy"
WP_DE[$XY]="${WP_DE_URL}xy"
WP_EN[$XY]="${WP_EN_URL}xy"
GRUB_MENUENTRY[$XY]=$(cat << EOF
menuentry "${TITLE[$XY]}" {
 loopback loop $ISOPATH/${ISO[$XY]}
 linux (loop)/boot/bzImage root=/dev/null vga=771
 initrd (loop)/boot/rootfs.gz
}
EOF
)
DESCRIPTION_DE[$XY]=''
DESCRIPTION_EN[$XY]=''
# might be better, to write a function for that, later ... 
if [ $MD5SUM_CHECK ] && [ ${MD5SUM[$XY]} ]; then
  [ ${MD5SUM[$XY]} != $(basename $(md5sum $ISOPATH/${ISO[$XY]})) ] && echo "md5sum ERROR: $ISOPATH/${ISO[$XY]} is corrupted!"
elif [ $MD5SUM_CHECK ] &&  [ ! ${MD5SUM[$IX]} ]; then
  echo "could NOT performe md5sum check on $ISOPATH/${ISO[$IX]}: no hash available!"
fi

# Ubuntu 
UBUNTU_TITLE="Ubuntu Desktop 9.10 Karmic Koala 32bit"
UBUNTU_URL="http://ftp.uni-kl.de/pub/linux/ubuntu.iso/9.10/ubuntu-9.10-desktop-i386.iso"
[ $DOWNLOAD ] && sudo wget $UBUNTU_URL -P $DOWNLOADPATH
UBUNTU_ISO=`basename $UBUNTU_URL` 
# --
NAME[$UBUNTU]="Ubuntu"
TITLE[$UBUNTU]="Ubuntu Desktop 9.10 Karmic Koala 32bit"
DATE[$UBUNTU]="2009-10-24"
# date -d ${DATE[$UBUNTU]} +"%d.%m.%Y"
D_URL[$UBUNTU]="http://ftp.uni-kl.de/pub/linux/ubuntu.iso/9.10/ubuntu-9.10-desktop-i386.iso"
LOGO[$XY]="http://upload.wikimedia.org/wikipedia/commons/9/9d/Ubuntu_logo.svg"
[ $DOWNLOAD ] && sudo wget $D_URL[$UBUNTU] -P $DOWNLOADPATH
ISO[$UBUNTU]=`basename $URL[$UBUNTU]`
HP[$UBUNTU]="http://www.ubuntu.com"
DW[$UBUNTU]="${DW_URL}ubuntu"
WP_DE[$UBUNTU]="${WP_DE_URL}Ubuntu"
WP_EN[$UBUNTU]="${WP_EN_URL}Ubuntu_%28operating_system%29"
DESCRIPTION_DE[$UBUNTU]=''
# for i in ${NAME[@]} ; do echo ${TITLE[i]}; done


# Ubuntu LTS
UBUNTU_LTS_TITLE="Ubuntu Desktop 8.04.3 LTS Hardy Heron 32bit"
UBUNTU_LTS_URL="http://ftp.uni-kl.de/pub/linux/ubuntu.iso/8.04/ubuntu-8.04.3-desktop-i386.iso"
[ $DOWNLOAD ] && sudo wget $UBUNTU_LTS_URL -P $DOWNLOADPATH
UBUNTU_LTS_ISO=`basename $UBUNTU_LTS_URL`

# Debian Netinstall 
DEBIAN_TITLE="Debian Netinstall 5.03 Lenny 32bit"
DEBIAN_URL="http://ftp.debian.org/debian/dists/lenny/main/installer-i386/current/images/netboot/mini.iso"
DEBIAN_ISO="debian-5.03-netinstall-i386.iso"
[ $DOWNLOAD ] && sudo wget $DEBIAN_URL -O $DOWNLOADPATH/$DEBIAN_ISO

# Sidux
SIDUX_TITLE="Sidux Momos 2009-03 XFCE"
SIDUX_URL="http://ftp.spline.de/pub/sidux/release/sidux-2009-03-momos-xfce-i386-200911110039.iso"
# SIDUX_URL="http://ftp.spline.de/pub/sidux/release/sidux-2009-04-moros-xfce-i386-200912310312.iso"
# find the KERNEL-Version in: [ISO-file]/boot/grub/grub.cfg
SIDUX_KERNEL_OLD="2.6.31-6.slh.1-sidux-686"
[ $DOWNLOAD ] && sudo wget $SIDUX_URL -P $DOWNLOADPATH
SIDUX_ISO=`basename $SIDUX_URL`
#
NAME[$SIDUX]="Sidux"
TITLE[$SIDUX]="Sidux Moros 2009-04 XFCE - BROKEN!"
DATE[$SIDUX]="2009-12-31"
D_URL[$SIDUX]="http://debian.tu-bs.de/project/sidux/release/sidux-2009-04-moros-xfce-i386-200912310312.iso"
SIDUX_KERNEL="2.6.32-2.slh.4-sidux-686"
LOGO_EXTERN[$SIDUX]="http://upload.wikimedia.org/wikipedia/commons/b/ba/Sidux-logo.png"
LOGO[$SIDUX]=${LOGO_EXTERN[$SIDUX]}
LOGO[$SIDUX]="http://upload.wikimedia.org/wikipedia/commons/b/ba/Sidux-logo.png"
[ $DOWNLOAD ] && sudo wget ${D_URL[$SIDUX]} -P $DOWNLOADPATH
ISO[$SIDUX]=`basename ${D_URL[$SIDUX]}`
MD5SUM[$SIDUX]="9ea0a6a1cde019ea7eae069559328b58"
ISO_MBYTE[$SIDUX]=492
HP[$SIDUX]="http://sidux.com"
DW[$SIDUX]="${DW_URL}sidux"
WP_DE[$SIDUX]="${WP_DE_URL}Sidux"
WP_EN[$SIDUX]="${WP_EN_URL}Sidux"
GRUB_MENUENTRY[$SIDUX]=$(cat << EOF
menuentry "${TITLE[$SIDUX]}" {
 loopback loop $ISOPATH/${ISO[$SIDUX]}
 linux (loop)/boot/vmlinuz0.686 fromiso=$ISOPATH/${ISO[$SIDUX]} boot=fll noeject
 initrd (loop)/boot/initrd0.686
}
EOF
)
DESCRIPTION_DE[$SIDUX]='
Debian hot and spicy :-)
Sidux basiert auf Debians unstable brunch – und versucht, diesen 
“stabil”, d. h. auch für den produktiven Einsatz nutzbar zu machen. 
Dazu wird ein eigenes Script zur Verfügung gestellt, das bekannte Bugs 
und Probleme löst bzw. “work-around”et.
'
DESCRIPTION_EN[$SIDUX]=''
# might be better, to write a function for that, later ... 
if [ $MD5SUM_CHECK ] && [ ${MD5SUM[$SIDUX]} ]; then
  [ ${MD5SUM[$SIDUX]} != $(basename $(md5sum $ISOPATH/${ISO[$SIDUX]})) ] && echo "md5sum ERROR: $ISOPATH/${ISO[$SIDUX]} is corrupted!"
elif [ $MD5SUM_CHECK ] &&  [ ! ${MD5SUM[$SIDUX]} ]; then
  echo "could NOT performe md5sum check on $ISOPATH/${ISO[$SIDUX]}: no hash available!"
fi

# moonOS - DOESN'T WORK!
MOONOS_TITLE="moonOS 3.0 Makara - BROKEN!"
MOONOS_URL="http://moonos.tropicalicecube.net/repos/moonos-3-makara-desktop-i386.iso"
[ $DOWNLOAD ] && sudo wget $MOONOS_URL -P $DOWNLOADPATH
MOONOS_ISO=`basename $MOONOS_URL` 

# GRML
GRML_TITLE="GRML 2009.10 Hello-Wien"
GRML_URL="http://debian.netcologne.de/www.grml.org/grml_2009.10.iso"
[ $DOWNLOAD ] && sudo wget $GRML_URL -P $DOWNLOADPATH
GRML_ISO=`basename $GRML_URL`

# Parted Magic
PMAGIC_TITLE="Parted Magic & Clonezilla 4.7"
PMAGIC_URL="http://downloads.sourceforge.net/project/partedmagic/partedmagic/Parted%20Magic%204.7/pmagic_clonezilla-4.7.iso.zip?use_mirror=dfn"
[ $DOWNLOAD ] && sudo wget $PMAGIC_URL -P $DOWNLOADPATH
[ $DOWNLOAD ] && sudo unzip $DOWNLOADPATH/pmagic*zip
[ $DOWNLOAD ] && sudo rm pmagic*zip
PMAGIC_ISO=`basename $DOWNLOADPATH/pmagic*iso`

# SLAX
SLAX_TITLE="SLAX 6.1.2"
SLAX_URL="http://www.slax.org/get_slax.php?download=iso"
[ $DOWNLOAD ] && sudo wget $SLAX_URL -P $DOWNLOADPATH
[ $DOWNLOAD ] && sudo tar xvf $DOWNLOADPATH/slax*.tar
[ $DOWNLOAD ] && sudo rm slax*.tar
SLAX_ISO=`basename $DOWNLOADPATH/slax*iso`

# Linux Mint
MINT_TITLE="Linux Mint 8.0"
MINT_URL="http://ftp5.gwdg.de/pub/linux/debian/mint/stable/8/LinuxMint-8.iso"
[ $DOWNLOAD ] && sudo wget $MINT_URL -P $DOWNLOADPATH
MINT_ISO=`basename $MINT_URL`

# Tiny Core Linux
TINYCORE_TITLE="Tiny Core Linux 2.7"
TINYCORE_URL="http://distro.ibiblio.org/pub/linux/distributions/tinycorelinux/2.x/release/tinycore_2.7.iso"
[ $DOWNLOAD ] && sudo wget $TINYCORE_URL -P $DOWNLOADPATH
TINYCORE_ISO=`basename $TINYCORE_URL`

# xPUD
XPUD_TITLE="xPUD 0.9.2"
XPUD_URL="http://mesrss.free.fr/xpud/xpud-0.9.2.iso"
[ $DOWNLOAD ] && sudo wget $XPUD_URL -P $DOWNLOADPATH
XPUD_ISO=`basename $XPUD_URL`

# SystemRescueCd
SRCD_TITLE="SystemRescueCd 1.3.4"
SRCD_URL="http://downloads.sourceforge.net/systemrescuecd/systemrescuecd-x86-1.3.4.iso"
[ $DOWNLOAD ] && sudo wget $SRCD_URL -P $DOWNLOADPATH
SRCD_ISO=`basename $SRCD_URL`

# netboot.me
NETBOOT_TITLE="netboot.me 0.1.1"
NETBOOT_URL="http://static.netboot.me/gpxe/netbootme.iso"
[ $DOWNLOAD ] && sudo wget $NETBOOT_URL -P $DOWNLOADPATH
NETBOOT_ISO=`basename $NETBOOT_URL`

# Slitaz
NAME[$SLITAZ]="Slitaz"
TITLE[$SLITAZ]="Slitaz Cooking 4 Nov 2009"
DATE[$SLITAZ]="2009-11-04"
D_URL[$SLITAZ]="http://mirror.slitaz.org/iso/cooking/slitaz-cooking.iso"
LOGO_EXTERN[$SLITAZ]="http://distrowatch.com/images/icon-large/slitaz.png"
LOGO_EXTERN[$SLITAZ]="http://www.slitaz.org/pics/artwork/slitaz-logo-whitebg-320x118.png"
LOGO_EXTERN[$SLITAZ]="http://www.slitaz.org/pics/artwork/slitaz-tux-124x126.png"
# More logi at http://www.slitaz.org/en/artwork/index.html#logos
LOGO[$SLITAZ]=${LOGO_EXTERN[$SLITAZ]}
[ $DOWNLOAD ] && sudo wget ${D_URL[$SLITAZ]} -P $DOWNLOADPATH
ISO[$SLITAZ]=`basename ${D_URL[$SLITAZ]}`
ISO_MBYTE[$SLITAZ]=32
HP[$SLITAZ]="http://www.slitaz.org/"
DW[$SLITAZ]="${DW_URL}slitaz"
WP_DE[$SLITAZ]="${WP_DE_URL}Slitaz"
WP_EN[$SLITAZ]="${WP_EN_URL}SliTaz_GNU/Linux"
GRUB_MENUENTRY[$SLITAZ]=$(cat << EOF
menuentry "${TITLE[$SLITAZ]}" {
 loopback loop $ISOPATH/${ISO[$SLITAZ]}
 linux (loop)/boot/bzImage root=/dev/null vga=771
 initrd (loop)/boot/rootfs.gz
}
EOF
)
DESCRIPTION_DE[$SLITAZ]=''
DESCRIPTION_EN[$SLITAZ]=''

# Puppy Linux
# !!! NOT WORKING YET !!!
NAME[$PUPPY]="Puppy"
TITLE[$PUPPY]="Puppy Linux 4.3.1"
DATE[$PUPPY]="2009-10-17"
D_URL[$PUPPY]="http://distro.ibiblio.org/pub/linux/distributions/puppylinux/puppy-4.3.1/pup-431.iso"
LOGO_EXTERN[$PUPPY]="http://distrowatch.com/images/icon-large/puppy.png"
LOGO[$PUPPY]=${LOGO_EXTERN[$PUPPY]}
[ $DOWNLOAD ] && sudo wget $D_URL[$PUPPY] -P $DOWNLOADPATH
ISO[$XY]=`basename $URL[$PUPPY]`
ISO_MBYTE[$PUPPY]=105
HP[$PUPPY]="http://www.puppylinux.com/"
DW[$PUPPY]="${DW_URL}puppy"
WP_DE[$PUPPY]="${WP_DE_URL}Puppy_Linux"
WP_EN[$PUPPY]="${WP_EN_URL}Puppy_Linux"
DESCRIPTION_DE[$PUPPY]=''
DESCRIPTION_EN[$PUPPY]=''

# BackTrack
# !!! NOT WORKING YET !!!
NAME[$BACKTRACK]="BackTrack"
TITLE[$BACKTRACK]="BackTrack 4 Pre Release (pwnsauce)"
DATE[$BACKTRACK]="2009-06-19"
D_URL[$BACKTRACK]="http://www.remote-exploit.org/cgi-bin/fileget?version=bt4-prefinal-iso"
[ $DOWNLOAD ] && sudo wget ${D_URL[$BACKTRACK]} -P $DOWNLOADPATH
ISO[$BACKTRACK]=`basename ${D_URL[$BACKTRACK]}`
ISO_MBYTE[$BACKTRACK]=1390
HP[$BACKTRACK]="http://www.remote-exploit.org/backtrack.html"
DW[$BACKTRACK]="${DW_URL}backtrack"
WP_DE[$BACKTRACK]="${WP_DE_URL}BackTrack"
WP_EN[$BACKTRACK]="${WP_EN_URL}BackTrack"
DESCRIPTION_DE[$BACKTRACK]='
BackTrack ist eine Sicherheitsdistribution, die zahlreiche Tools 
bereitstellt, "mit denen Anwender und Administratoren die Sicherheit 
von Web-Anwendungen bis hin zu RFID-Systemen testen können. Dazu gehören 
Sniffer für LAN und WLAN, Passwort-Cracker, Schwachstellenscanner, das 
Exploit-Framework Metasploit und viele andere Tools.
<p>
Erstmals gibt es auch Unterstützung für das beschleunigte Knacken von 
Passwörtern mit Hilfe moderner Grafikkarten. Das mitgelieferte WPA-Tool 
Pyrit soll NVidias CUDA unterstützen. Des Weiteren enthält BackTrack 4 
den Multihash CUDA Brute Forcer – der Name sagt alles."
<p>
Die neue Version 4 basiert nicht mehr auf SLAX, sondern auf dem 
Debian-Core und verwendet zusätzlich Ubuntu-Pakete. 
Des Weiteren wurde für beiliegende Programme CUDA-Unterstützung 
eingebaut.  <a href="http://de.wikipedia.org/wiki/CUDA">CUDA</a> ist 
eine von Nvidia entwickelte Technik zur Beschleunigung 
wissenschaftlicher und technischer Berechnungen durch Einbeziehung der 
Grafikkarte in die Berechnungen.
<p>
<a href="http://www.heise.de/security/meldung/Sicherheitsdistribution-BackTrack-4-mit-CUDA-Unterstuetzung-184560.html">
Heise Security zu BackTrack Version 4 Pre</a> 
Daniel Bachfield gibt einen Überblick über die neuen Funktionalitäten
der Version 4 sowie über die Installation und die Benutzung von 
Backtrack: 
<a href="http://www.offensive-security.com/backtrack4-guide-tutorial.pdf">
BackTrack 4 – The Definitive Guide</a>
<p>
Cyberfux veröffentlicht in seinem Blog ein Anleitung zur Installation
von BackTrack 4 auf einer SD-Karte: 
http://www.cyberfux.de/blog/tutorials/backtrack-4-beta-mit-fester-installation-auf-sd-karte/
'

# Memtest86+
MEMTEST_TITLE="Memory test (memtest86+ 4.00)"
MEMTEST_URL="http://www.memtest.org/download/4.00/memtest86+-4.00.bin.gz"
[ $DOWNLOAD ] && sudo wget $MEMTEST_URL -P $DOWNLOADPATH
[ $DOWNLOAD ] && sudo gunzip $DOWNLOADPATH/memtest*.gz
MEMTEST_ISO=`basename $DOWNLOADPATH/memtest*bin`

# #####################################################################

# ###### grub2 boot configuration #####################################

[ -f $MOUNTDIR/$GRUBPATH/grub.cfg ] && mv $MOUNTDIR/$GRUBPATH/grub.cfg $MOUNTDIR/$GRUBPATH/grub.cfg-`date  +"%Y-%m-%d-%H-%M-%S"`
cat <<EOF> $MOUNTDIR/$GRUBPATH/grub.cfg

if loadfont /boot/grub/unicode.pf2 ; then
  set gfxmode="640x480"
  insmod gfxterm
  insmod vbe
  terminal_output gfxterm
  if terminal_output gfxterm; then true ; else
     terminal gfxterm
  fi
fi
insmod tga
background_image $SPLASH_IMAGE

menuentry "$UBUNTU_TITLE" {
 loopback loop $ISOPATH/$UBUNTU_ISO
 linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$ISOPATH/$UBUNTU_ISO noeject noprompt --
 initrd (loop)/casper/initrd.lz
}
 
menuentry "$UBUNTU_LTS_TITLE" {
 loopback loop $ISOPATH/$UBUNTU_LTS_ISO
 linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$ISOPATH/$UBUNTU_LTS_ISO quiet splash noprompt --
 initrd (loop)/casper/initrd.gz
}
 
menuentry "$DEBIAN_TITLE" {
  loopback loop $ISOPATH/$DEBIAN_ISO
  linux (loop)/linux vga=normal --
  initrd (loop)/initrd.gz
}

menuentry "$SIDUX_TITLE" {
 loopback loop $ISOPATH/$SIDUX_ISO
 linux (loop)/boot/vmlinuz-$SIDUX_KERNEL_OLD fromiso=$ISOPATH/$SIDUX_ISO boot=fll noeject  
 initrd (loop)/boot/initrd.img-$SIDUX_KERNEL_OLD
}

${GRUB_MENUENTRY[$SIDUX]}

menuentry "$MOONOS_TITLE" {
 loopback loop $ISOPATH/$MOONOS_ISO
 linux (loop)/casper/vmlinuz boot=casper fromiso=$ISOPATH/$MOONOS_ISO file=(loop)/preseed/moon.seed --
 initrd (loop)/casper/initrd.gz
}

menuentry "$GRML_TITLE" {
  loopback loop $ISOPATH/$GRML_ISO
  linux (loop)/boot/grml/linux26 findiso=$ISOPATH/$GRML_ISO apm=power-off lang=us vga=791 boot=live nomce noeject noprompt --
  initrd (loop)/boot/grml/initrd.gz
}

menuentry "$PMAGIC_TITLE" {
    loopback loop $ISOPATH/$PMAGIC_ISO 
    linux (loop)/pmagic/bzImage iso_filename=$ISOPATH/$PMAGIC_ISO edd=off noapic load_ramdisk=1 prompt_ramdisk=0 rwnomce sleep=10 loglevel=0
    initrd (loop)/pmagic/initramfs
}

menuentry "$SLAX_TITLE" {
    loopback loop $ISOPATH/$SLAX_ISO 
    linux (loop)/boot/vmlinuz from=$ISOPATH/$SLAX_ISO ramdisk_size=6666 root=/dev/ram0 rw
    initrd (loop)/boot/initrd.gz
}

menuentry "$MINT_TITLE" {
 loopback loop $ISOPATH/$MINT_ISO
 linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$ISOPATH/$MINT_ISO noeject noprompt --
 initrd (loop)/casper/initrd.lz
}

menuentry "$TINYCORE_TITLE" {
 loopback loop $ISOPATH/$TINYCORE_ISO
 linux (loop)/boot/bzImage
 initrd (loop)/boot/tinycore.gz
}

menuentry "$XPUD_TITLE" {
 loopback loop $ISOPATH/$XPUD_ISO
 linux (loop)/boot/xpud filename=$ISOPATH/$XPUD_ISO noisapnp quiet lang=de kmap=de
 initrd (loop)/opt/media
}

menuentry "$SRCD_TITLE" {
 loopback loop $ISOPATH/$SRCD_ISO
 linux (loop)/isolinux/rescuecd isoloop=$ISOPATH/$SRCD_ISO rdinit=/linuxrc2 
 initrd (loop)/isolinux/initram.igz
}

${GRUB_MENUENTRY[$SLITAZ]}

menuentry "$NETBOOT_TITLE" {
 loopback loop $ISOPATH/$NETBOOT_ISO
  linux16 (loop)/GPXE.KRN	
}
 
menuentry "$MEMTEST_TITLE" {
 linux16 $ISOPATH/$MEMTEST_ISO
}

# 
#menuentry "BackTrack 4 DOESN'T WORK!" {
# linux /boot/bt4/boot/vmlinuz BOOT=casper boot=casper nopersistent rw vga=0x317 --
# initrd /boot/bt4/boot/initrd.gz
#}
#
 
# 
#menuentry "BackTrack DOESN'T WORK!" {
# loopback loop /boot/iso/bt4-pre-final.iso
# linux (loop)/boot/vmlinuz find_iso/filename=/boot/iso/bt4-pre-final.iso BOOT=casper boot=casper nopersistent rw vga=0x317--
# initrd (loop)/boot/initrd.gz
#}          
# 

EOF

