#!/bin/bash
if [ $(whoami) != "root" ];then
	if uname|grep -qi CYGWIN;then
		echo "Cygwin is not supported at the moment."
	else
		echo "This script must be run as root, so it can mount ISO images on the filesystem during the building process."
		exit 1
	fi
fi
set -e
#multicd.sh 5.7
#Copyright (c) 2010 maybeway36
#
#Permission is hereby granted, free of charge, to any person obtaining a copy
#of this software and associated documentation files (the "Software"), to deal
#in the Software without restriction, including without limitation the rights
#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
#copies of the Software, and to permit persons to whom the Software is
#furnished to do so, subject to the following conditions:
#
#The above copyright notice and this permission notice shall be included in
#all copies or substantial portions of the Software.
#
#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
#THE SOFTWARE.

if [ -d tags ];then rm -r tags;fi
mkdir -p tags/puppies
chmod -R 777 tags

if echo $* | grep -q "\bmd5\b";then
 MD5=1
else
 if echo $* | grep -q "\bc\b";then
  MD5=1
 else
  MD5=0
 fi
fi
if echo $* | grep -q "\bm\b";then
 MEMTEST=0
else
 MEMTEST=1
fi
if echo $* | grep -q "\bv\b";then
 VERBOSE=1
 echo > tags/verbose
else
 VERBOSE=0
fi
if echo $* | grep -q "\bcondeb\b";then
 CONDEB=1
else
 CONDEB=0
fi
if echo $* | grep -q "\bi\b";then
 INTERACTIVE=1
else
 INTERACTIVE=0
fi

if [ $INTERACTIVE = 1 ];then
	if ! which dialog &> /dev/null;then
		echo "You must install dialog to use the interactive options."
		exit 1
	fi
	dialog --inputbox "What would you like the title of the CD's main menu to be?" 8 70 "MultiCD - Created $(date +"%b %d, %Y")" 2> /tmp/cdtitle
	CDTITLE=$(cat /tmp/cdtitle)
	rm /tmp/cdtitle
	if [ -f trk.iso ];then
		CDLABEL=TRK_3.3
	else
		dialog --inputbox "What would you like the CD label to be?" 9 40 "MultiCD" 2> /tmp/cdlabel
		CDLABEL=$(cat /tmp/cdlabel)
		rm /tmp/cdlabel
	fi
	dialog --menu "What menu color would you like?" 0 0 0 40 black 41 red 42 green 43 brown 44 blue 45 magenta 46 cyan 2> /tmp/color
	MENUCOLOR=$(cat /tmp/color)
	echo $(echo -e "\r\033[0;$(cat /tmp/color)m")Color chosen.$(echo -e '\033[0;39m')
	rm /tmp/color
	if [ -f slax.iso ];then
		dialog --checklist "Slax modules to include:" 13 45 6 \
		002-xorg.lzm Xorg on \
		003-desktop.lzm KDE on \
		004-kdeapps.lzm "KDE applications" on \
		005-koffice.lzm "KDE Office" on \
		006-devel.lzm Development on \
		2> ./slaxlist0
		echo >> ./slaxlist0
		cat ./slaxlist0|sed -e 's/"//g' -e 's/ /\n/g'>./slaxlist
		rm ./slaxlist0
	fi
	if [ -f win98se.iso ] || [ -f winme.iso ];then
		if dialog --yesno "Would you like to copy the \"tools\" and \"add-ons\" folders from the Windows 9x/Me CD?" 0 0;then
			touch tags/9xextras
		fi
	fi
else
	CDTITLE="MultiCD - Created $(date +"%b %d, %Y")"
	if [ -f trk.iso ];then
		CDLABEL=TRK_3.3
	else
		CDLABEL=MultiCD
	fi
	MENUCOLOR=44
	touch tags/9xextras
fi

#START PREPARE#
#END PREPARE#

#Now we run through the plugins first, as a non-root user.
echo "List of boot options that will be included:"
echo '#!/bin/sh
#START SCAN
set -e
#antiX Linux plugin for multicd.sh
	if [ -f antix.iso ];then
		echo "AntiX"
	fi
set -e
#Arch Linux installer plugin for multicd.sh
	if [ -f arch.iso ];then
		echo "Arch Linux"
	fi
set -e
#Arch Linux (dual i686/x86_64) installer plugin for multicd.sh
	if [ -f archdual.iso ];then
		echo "Arch Linux Dual"
	fi
set -e
#Austrumi plugin for multicd.sh
	if [ -f austrumi.iso ];then
		echo "Austrumi"
	elif [ -f al.iso ];then
		echo "Austrumi (moving al.iso to austrumi.iso)"
		mv al.iso austrumi.iso
	fi
set -e
#BackTrack plugin for multicd.sh (designed for BackTrack 4)
	if [ -f backtrack.iso ];then
		echo "BackTrack"
	fi
set -e
#Caine plugin for multicd.sh
	if [ -f caine.iso ];then
		echo "Caine"
	fi
set -e
#CDlinux plugin for multicd.sh
	if [ -f cdl.iso ];then
		echo "CDlinux"
	fi
set -e
#Clonezilla plugin for multicd.sh
	if [ -f clonezilla.iso ];then
		echo "Clonezilla"
	fi
set -e
#DBAN plugin for multicd.sh
	if [ -f dban.iso ];then
		echo "DBAN"
	fi
set -e
#Debian installer plugin for multicd.sh
	if [ -f debian-mini.iso ];then
		echo "Debian netboot installer"
	fi
set -e
#Debian Live plugin for multicd.sh
	if [ -f binary.iso ];then
		echo "Debian Live"
	fi
set -e
#DeLi Linux plugin for multicd.sh
	if [ -f deli.iso ];then
		echo "DeLi Linux"
	fi
set -e
#EASEUS Disk Copy plugin for multicd.sh
	if [ -f diskcopy.iso ];then
		echo "EASEUS Disk Copy"
		DCISO=1
	else
		if [ -f DC2.iso ];then
			ln -s DC2.iso diskcopy.iso
			echo "EASEUS Disk Copy (note: made link from DC2.iso to diskcopy.iso)"
			DCISO=1
		else
			DCISO=0
		fi
	fi
set -e
#DSL plugin for multicd.sh
	if [ -f dsl.iso ];then
		echo "Damn Small Linux"
	fi
set -e
#Damn Vulnerable Linux plugin for multicd.sh
	if [ -f dvl.iso ];then
		echo "Damn Vulnerable Linux"
	fi
set -e
#Endian Firewall Community Edition plugin for multicd.sh
	if [ -f efw.iso ];then
		echo "Endian Firewall"
	fi
set -e
#Elastix plugin for multicd.sh
	if [ -f elastix.iso ];then
		echo "Elastix"
	fi
set -e
#Feather Linux plugin for multicd.sh
	if [ -f feather.iso ];then
		echo "Feather"
	fi
set -e
#Fedora installer plugin for multicd.sh
	if [ -f fedora-boot.iso ];then
		echo "Fedora netboot installer"
	fi
set -e
#Finnix plugin for multicd.sh
	if [ -f finnix.iso ];then
		echo "Finnix"
	fi
set -e
#FreeDOS installer plugin for multicd.sh
	if [ -f fdfullcd.iso ] || [ -f fdbasecd.iso ];then
		echo "FreeDOS"
	fi
set -e
#GeeXboX plugin for multicd.sh
	if [ -f geexbox.iso ];then
		echo "GeeXboX"
	elif [ -f gbox.iso ];then
		echo "GeeXboX (moving gbox.iso to geexbox.iso)"
		mv gbox.iso geexbox.iso
	fi
set -e
#GParted Live plugin for multicd.sh
	if [ -f gparted.iso ];then
		echo "GParted Live"
	fi
set -e
#INSERT plugin for multicd.sh
	if [ -f insert.iso ];then
		echo "INSERT"
	fi
set -e
#IPCop plugin for multicd.sh
	if [ -f ipcop.iso ];then
		echo "IPCop"
	fi
set -e
#Knoppix plugin for multicd.sh
	if [ -f knoppix.iso ];then
		echo "Knoppix"
		export KNOPPIX=1
	fi
set -e
#Kubuntu plugin for multicd.sh
	if [ -f kubuntu.iso ];then
		echo "Kubuntu"
	fi
set -e
#kubuntu_32_bit plugin for multicd.sh
	if [ -f kubuntu_32_bit.iso ];then
		echo "kubuntu_32_bit"
	fi
set -e
#kubuntu_64_bit plugin for multicd.sh
	if [ -f kubuntu_64_bit.iso ];then
		echo "kubuntu_64_bit"
	fi
set -e
#Linux Mint plugin for multicd.sh
	if [ -f linuxmint.iso ];then
		echo "Linux Mint (8/Helena or newer)"
	fi
set -e
#Macpup plugin for multicd.sh
	if [ -f macpup.iso ];then
		echo "Macpup"
		touch tags/puppies/macpup
	fi
set -e
#Mandriva installer plugin for multicd.sh
	if [ -f mandriva-boot.iso ];then
		echo "Mandriva netboot installer"
	fi
set -e
#NetbootCD 3.x/4.x plugin for multicd.sh
	if [ -f netbootcd.iso ];then
		echo "NetbootCD"
	fi
set -e
#NT Password Editor plugin for multicd.sh
	if [ -f ntpasswd.iso ];then
		echo "NT Password Editor"
	fi
set -e
#openSUSE installer plugin for multicd.sh
	if [ -f opensuse.iso ];then
		echo "openSUSE netboot installer"
	fi
set -e
#PCLinuxOS plugin for multicd.sh
	if [ -f pclos.iso ];then
		echo "PCLinuxOS"
	fi
set -e
#PCLinuxOS LXDE plugin for multicd.sh
	if [ -f pclx.iso ];then
		echo "PCLinuxOS LXDE"
	fi
set -e
#PING plugin for multicd.sh
	if [ -f ping.iso ];then
		echo "PING"
	fi
set -e
#Parted Magic plugin for multicd.sh
	if [ -f pmagic.iso ];then
		echo "Parted Magic"
	fi
set -e
#Puppy Linux plugin for multicd.sh
	if [ -f puppy.iso ];then
		echo "Puppy Linux"
		touch tags/puppies/puppy
	fi
set -e
#RIPLinuX plugin for multicd.sh
	if [ -f riplinux.iso ];then
		echo "RIPLinuX"
	fi
set -e
#Slax 6 plugin for multicd.sh
	if [ -f slax.iso ];then
		echo "Slax"
	fi
set -e
#SliTaz plugin for multicd.sh
	if [ -f slitaz.iso ];then
		echo "SliTaz"
	fi
set -e
#SystemRescueCd plugin for multicd.sh
	if [ -f sysrcd.iso ];then
		echo "SystemRescueCd"
	fi
set -e
#TCNet plugin for multicd.sh
	if [ -f tcnet.iso ];then
		echo "TCNet"
	fi
set -e
#Tiny Core Linux plugin for multicd.sh
	if [ -f tinycore.iso ];then
		echo "Tiny Core Linux"
	fi
set -e
#TinyMe plugin for multicd.sh
	if [ -f tinyme.iso ];then
		echo "TinyMe"
	fi
set -e
#Trinity Rescue Kit plugin for multicd.sh
	if [ -f trk.iso ];then
		echo "Trinity Rescue Kit"
	fi
set -e
#Ultimate Boot CD plugin for multicd.sh
	if [ -f ubcd.iso ];then
		echo "Ultimate Boot CD"
	fi
	if [ -f dban.iso ] && [ -f ubcd.iso ];then
		echo
		echo "Note: Ultimate Boot CD includes DBAN, so it is not necessary alone as well."
		echo "Continuing anyway."
	fi
	if [ -f ntpasswd.iso ] && [ -f ubcd.iso ];then
		echo
		echo "Note: UBCD includes NT Password & Registry Editor, so it is not necessary alone as well."
		echo "Continuing anyway."
	fi
set -e
#Ubuntu installer plugin for multicd.sh
	if [ -f ubuntu-mini.iso ];then
		echo "Ubuntu netboot installer"
	fi
set -e
#Ubuntu plugin for multicd.sh
	if [ -f ubuntu.iso ];then
		echo "Ubuntu"
	fi
set -e
#Ubuntu Custom #2 plugin for multicd.sh
	if [ -f ubuntu2.iso ];then
		echo "Ubuntu Custom #2 (for using multiple versions on one disc - 9.10 or newer)"
		echo > tags/ubuntu-custom2
	fi
set -e
#Ubuntu Custom #3 plugin for multicd.sh
	if [ -f ubuntu3.iso ];then
		echo "Ubuntu custom #3 (for using multiple versions on one disc - 9.10 or newer)"
		echo > tags/ubuntu-custom3
	fi
set -e
#ubuntu_32_bit plugin for multicd.sh
	if [ -f ubuntu_32_bit.iso ];then
		echo "ubuntu_32_bit"
	fi
set -e
#ubuntu_64_bit plugin for multicd.sh
	if [ -f ubuntu_64_bit.iso ];then
		echo "ubuntu_64_bit"
	fi
set -e
#Vyatta plugin for multicd.sh
	if [ -f vyatta.iso ];then
		echo "Vyatta"
	fi
set -e
#WeakNet Linux plugin for multicd.sh
	if [ -f weaknet.iso ];then
		echo "WeakNet Linux"
	fi
set -e
#Windows 98 SE Setup plugin for multicd.sh
	if [ -f win98se.iso ];then
		echo "Windows 98 SE (Not open source - do not distribute)"
		touch tags/win9x
	fi
set -e
#Windows Me Setup plugin for multicd.sh
	if [ -f winme.iso ];then
		echo "Windows Me (Not open source - do not distribute)"
		touch tags/win9x
	fi
set -e
#Wolvix plugin for multicd.sh
	if [ -f wolvix.iso ];then
		echo "Wolvix"
	fi
#END SCAN
'>/tmp/run-as-nobody.sh
chmod +x /tmp/run-as-nobody.sh
su nobody -c /tmp/run-as-nobody.sh
rm /tmp/run-as-nobody.sh

for i in *.im[agz]; do
 test -r "$i" || continue
 echo $i|sed 's/\.im.//'
done
GAMES=0 #Will be changed if there are games
for i in games/*.im[agz]; do
 test -r "$i" || continue
 echo Game: $(echo $i|sed 's/\.im.//'|sed 's/games\///')
 GAMES=1
done
if [ -f grub.exe ];then
 echo "GRUB4DOS"
fi
if [ $MEMTEST = 1 ];then
 echo "Memtest86+"
fi

echo
echo "Continuing in 3 seconds - press Ctrl+C to cancel"
sleep 3

if [ $(find tags/puppies -maxdepth 1 -type f|wc -l) -gt 1 ] && which dialog &> /dev/null;then
	echo "dialog --radiolist \"Which Puppy variant would you like to be installable to HD from the disc?\" 13 45 6 \\">puppychooser
	for i in tags/puppies/*;do
		echo $(echo $i|sed -e 's/tags\/puppies\///g') \"\" off \\ >> puppychooser
	done
	echo "2> puppyresult" >> puppychooser
	sh puppychooser
	echo>tags/puppies/$(cat puppyresult).inroot
	rm puppychooser puppyresult
fi
if [ $(find tags/puppies -maxdepth 1 -type f|wc -l) -eq 1 ];then
	NAME=$(ls tags/puppies)
	true>$(find tags/puppies -maxdepth 1 -type f).inroot
fi
if which dialog &> /dev/null;then
	for i in $(find tags -maxdepth 1 -name ubuntu\*);do
		dialog --inputbox "What would you like $(echo $i|sed -e 's/tags\///g') to be called on the CD boot menu?" 8 70 2> $i.name
	done
fi

if [ -d multicd-working ];then
 rm -r multicd-working/*
else
 mkdir multicd-working
fi

#Make sure it exists, you need to put stuff there later
mkdir -p multicd-working/boot/isolinux

#START COPY
	if [ -f antix.iso ];then
		if [ ! -d antix ];then
			mkdir antix
		fi
		if grep -q "`pwd`/antix" /etc/mtab ; then
			umount antix
		fi
		mount -o loop antix.iso antix/
		cp -r antix/mepis multicd-working/ #Everything in antiX but the kernel and initrd
		mkdir -p multicd-working/boot/antix
		cp antix/boot/vmlinuz multicd-working/boot/antix/vmlinuz #Kernel
		cp antix/boot/initrd.gz multicd-working/boot/antix/initrd.gz #Initrd
		umount antix
		rmdir antix
	fi
	if [ -f arch.iso ];then
		echo "Copying Arch Linux..."
		if [ ! -d arch ];then
			mkdir arch
		fi
		if grep -q "`pwd`/arch" /etc/mtab ; then
			umount arch
		fi
		mount -o loop arch.iso arch/
		mkdir multicd-working/boot/arch
		cp arch/boot/vmlinuz26 multicd-working/boot/arch/vmlinuz26 #Kernel
		cp arch/boot/archiso.img multicd-working/boot/arch/archiso.img #initrd
		cp arch/*.sqfs multicd-working/ #Compressed filesystems
		cp arch/isomounts multicd-working/ #Text file
		umount arch
		rmdir arch
	fi
	if [ -f archdual.iso ];then
		echo "Copying Arch Linux Dual..."
		if [ ! -d arch ];then
			mkdir arch
		fi
		if grep -q "`pwd`/arch" /etc/mtab ; then
			umount arch
		fi
		mount -o loop archdual.iso arch/
		mkdir multicd-working/boot/arch
		mkdir multicd-working/boot/arch/i686
		mkdir multicd-working/boot/arch/x86_64
		mkdir multicd-working/i686
		mkdir multicd-working/x86_64
		cp arch/boot/i686/vmlinuz26 multicd-working/boot/arch/i686/vmlinuz26 #i686 Kernel
		cp arch/boot/x86_64/vmlinuz26 multicd-working/boot/arch/x86_64/vmlinuz26 #x86_64 Kernel
		cp arch/boot/i686/archiso.img multicd-working/boot/arch/i686/archiso.img #i686 initrd
		cp arch/boot/x86_64/archiso.img multicd-working/boot/arch/x86_64/archiso.img #x86_64 initrd
		cp arch/i686/*.sqfs multicd-working/i686 #i686 Compressed filesystems
		cp arch/x86_64/*.sqfs multicd-working/x86_64 #x86_64 Compressed filesystems
		cp arch/isomounts multicd-working/ #Text file
		umount arch
		rmdir arch
	fi
	if [ -f austrumi.iso ];then
		echo "Copying Austrumi..."
		if [ ! -d austrumi ];then
			mkdir austrumi
		fi
		if grep -q "`pwd`/austrumi" /etc/mtab ; then
			umount austrumi
		fi
		mount -o loop austrumi.iso austrumi/
		cp -r austrumi/austrumi multicd-working/ #This folder also has the kernel and initrd
		cp austrumi/isolinux.cfg multicd-working/boot/isolinux/al.menu
		#These files were moved in 1.9.3
		#cp austrumi/boot/austrumi.fs multicd-working/boot/austrumi.fs
		#cp austrumi/boot/austrumi.tgz multicd-working/boot/austrumi.tgz
		umount austrumi;rmdir austrumi
	fi
	if [ -f backtrack.iso ];then
		echo "Copying BackTrack..."
		if [ ! -d backtrack ];then
			mkdir backtrack
		fi
		if grep -q "`pwd`/backtrack" /etc/mtab ; then
			umount backtrack
		fi
		mount -o loop backtrack.iso backtrack/
		cp -R backtrack/casper multicd-working/boot/backtrack
		cp backtrack/boot/vmlinuz multicd-working/boot/backtrack/
		cp backtrack/boot/initrd* multicd-working/boot/backtrack/
		umount backtrack
		rmdir backtrack
		echo -n "Making initrd(s)..."
		for i in initrd.gz initrd800.gz initrdfr.gz;do
			if [ -d ubuntu2-inittmp ];then rm -r ubuntu2-inittmp;fi
			mkdir ubuntu2-inittmp
			cd ubuntu2-inittmp
			gzip -cd ../multicd-working/boot/backtrack/$i | cpio -id
			perl -pi -e 's/path\/casper/path\/boot\/backtrack/g' scripts/casper
			perl -pi -e 's/directory\/casper/directory\/boot\/backtrack/g' scripts/casper
			find . | cpio --create --format='newc' | gzip -c > ../multicd-working/boot/backtrack/$i
			cd ..
			rm -r ubuntu2-inittmp
		done
		echo " done."
	fi
	if [ -f caine.iso ];then
		echo "Copying Caine..."
		if [ ! -d caine ];then
			mkdir caine
		fi
		if grep -q "`pwd`/caine" /etc/mtab ; then
			umount caine
		fi
		mount -o loop caine.iso caine/
		cp -R caine/casper multicd-working/boot/caine #Live system
		cp caine/README.diskdefines multicd-working/
		mkdir multicd-working/CaineFiles
		cp -R caine/{AutoPlay,autorun.exe,autorun.inf,comdlg32.ocx,files,license.txt,page5,preseed,Programs,RegOcx4Vista.bat,rw_common,tabctl32.ocx,vbrun60.exe,WinTaylor.exe} multicd-working/CaineFiles
		umount caine;rmdir caine
		echo -n "Making initrd(s)..."
		if [ -d caine-inittmp ];then rm -r caine-inittmp;fi
		mkdir caine-inittmp
		cd caine-inittmp
		gzip -cd ../multicd-working/boot/caine/initrd.gz | cpio -id
		perl -pi -e 's/path\/casper/path\/boot\/caine/g' scripts/casper
		perl -pi -e 's/directory\/casper/directory\/boot\/caine/g' scripts/casper
		find . | cpio --create --format='newc' | gzip -c > ../multicd-working/boot/caine/initrd.gz
		cd ..
		rm -r caine-inittmp
		echo " done."
	fi
	if [ -f cdl.iso ];then
		echo "Copying CDlinux..."
		if [ ! -d cdlinux ];then
			mkdir cdlinux
		fi
		if grep -q "`pwd`/cdlinux" /etc/mtab ; then
			umount cdlinux
		fi
		mount -o loop cdl.iso cdlinux/
		cp -r cdlinux/CDlinux multicd-working/CDlinux #Everything in one folder
		rm multicd-working/CDlinux/boot/memtest.bin.gz #Remove redundant memtest
		umount cdlinux
		rmdir cdlinux
	fi
	if [ -f clonezilla.iso ];then
		echo "Copying Clonezilla..."
		if [ ! -d clonezilla ];then
			mkdir clonezilla
		fi
		if grep -q "`pwd`/clonezilla" /etc/mtab ; then
			umount clonezilla
		fi
		mount -o loop clonezilla.iso clonezilla/
		cp clonezilla/isolinux/ocswp.png multicd-working/boot/isolinux/ocswp.png #Boot menu logo
		cp -R clonezilla/live multicd-working/boot/clonezilla #Another Debian Live-based ISO
		sed '/MENU BEGIN Memtest/,/MENU END/d' clonezilla/isolinux/isolinux.cfg > multicd-working/boot/isolinux/clonezil.cfg #Remove FreeDOS and Memtest
		umount clonezilla
		rmdir clonezilla
		rm multicd-working/boot/clonezilla/memtest
	fi
	if [ -f dban.iso ];then
		echo "Copying DBAN..."
		if [ ! -d dban ];then
			mkdir dban
		fi
		if grep -q "`pwd`/dban" /etc/mtab ; then
			umount dban
		fi
		mount -o loop dban.iso dban/
		cp dban/dban.bzi /tmp/dban.bzi #Get the floppy image from inside the CD image
		umount dban
#		mount -o loop /tmp/dban.ima dban #Then mount that floppy image
		mkdir -p multicd-working/boot/dban1
		cp /tmp/dban.bzi multicd-working/boot/dban1/dban.bzi
#		cp dban/initrd.gz multicd-working/boot/dban1/initrd.gz
#		umount dban
		rmdir dban
	fi
	if [ -f debian-mini.iso ];then
		echo "Copying Debian netboot installer..."
		if [ ! -d debian-mini ];then
			mkdir debian-mini
		fi
		if grep -q "`pwd`/debian-mini" /etc/mtab ; then
			umount debian-mini
		fi
		mount -o loop debian-mini.iso debian-mini/
		mkdir multicd-working/boot/debian
		cp debian-mini/linux multicd-working/boot/debian/linux
		cp debian-mini/initrd.gz multicd-working/boot/debian/initrd.gz
		umount debian-mini
		rmdir debian-mini
	fi
	if [ -f binary.iso ];then
		echo "Copying Debian Live..."
		if [ ! -d dlive ];then
			mkdir dlive
		fi
		if grep -q "`pwd`/dlive" /etc/mtab ; then
			umount dlive
		fi
		mount -o loop binary.iso dlive/
		cp dlive/isolinux/live.cfg /tmp/live.cfg #Copy the menu so we can read it later
		cp -r dlive/live multicd-working/ #Copy live folder - usually all that is needed
		if [ -d dlive/install ];then
			cp -r dlive/install multicd-working/ #Doesn't hurt to check
		fi
		umount dlive
		rmdir dlive
		rm multicd-working/live/memtest||true #We don't need this now; we'll get it later
	fi
	if [ -f deli.iso ];then
		echo "Copying DeLi Linux..."
		if [ ! -d deli ];then
			mkdir deli
		fi
		if grep -q "`pwd`/deli" /etc/mtab ; then
			umount deli
		fi
		mount -o loop deli.iso deli/
		cp -r deli/isolinux multicd-working/ #Kernel and filesystem
		cp -r deli/pkg multicd-working/ #Packages
		umount deli
		rmdir deli
	fi
	if [ -f diskcopy.iso ];then
		if [ ! -d diskcopy ];then
			mkdir diskcopy
		fi
		if grep -q "`pwd`/diskcopy" /etc/mtab ; then
			umount diskcopy
		fi
echo "Copying EASUS Disk Copy..."
		mount -o loop diskcopy.iso diskcopy/
		mkdir -p multicd-working/boot/diskcopy
		cp diskcopy/bzImage multicd-working/boot/diskcopy/bzImage
		cp diskcopy/initrd.img multicd-working/boot/diskcopy/initrd.img
		umount diskcopy
		rmdir diskcopy
	fi
	if [ -f dsl.iso ];then
		echo "Copying Damn Small Linux..."
		if [ ! -d dsl ];then
			mkdir dsl
		fi
		if grep -q "`pwd`/dsl" /etc/mtab ; then
			umount dsl
		fi
		mount -o loop dsl.iso dsl/
		mkdir multicd-working/KNOPPIX
		cp -R dsl/KNOPPIX/* multicd-working/KNOPPIX/ #Compressed filesystem. We put it here so DSL's installer can find it.
		cp dsl/boot/isolinux/linux24 multicd-working/boot/isolinux/linux24 #Kernel. See above.
		cp dsl/boot/isolinux/minirt24.gz multicd-working/boot/isolinux/minirt24.gz #Initial ramdisk. See above.
		umount dsl;rmdir dsl
	fi
	if [ -f dvl.iso ];then
		echo "Copying Damn Vulnerable Linux..."
		if [ ! -d dvl ];then
			mkdir dvl
		fi
		if grep -q "`pwd`/dvl" /etc/mtab ; then
			umount dvl
		fi
		mount -o loop dvl.iso dvl/
		cp -r dvl/BT multicd-working/
		mkdir multicd-working/boot/dvl
		cp dvl/boot/vmlinuz multicd-working/boot/dvl/vmlinuz
		cp dvl/boot/initrd.gz multicd-working/boot/dvl/initrd.gz
		umount dvl;rmdir dvl
	fi
	if [ -f efw.iso ];then
		echo "Copying Endian Firewall..."
		if [ ! -d endian ];then
			mkdir endian
		fi
		if grep -q "`pwd`/endian" /etc/mtab ; then
			umount endian
		fi
		mount -o loop efw.iso endian/
		mkdir -p multicd-working/boot/endian/
		cp endian/boot/isolinux/vmlinuz multicd-working/boot/endian/ #Kernel
		cp endian/boot/isolinux/instroot.gz multicd-working/boot/endian/ #Filesystem
		cp -r endian/data multicd-working/data #data and rpms folders are located
		cp -r endian/rpms multicd-working/rmps #at the root of the original CD
		cp endian/LICENSE.txt multicd-working/EFW-LICENSE.txt #License terms
		cp endian/README.txt multicd-working/EFW-README.txt
		umount endian
		rmdir endian
	fi
	if [ -f elastix.iso ];then
		 echo "Elastix..."
		if [ ! -d elastix ];then
			mkdir elastix
		fi
		if grep -q "`pwd`/elastix" /etc/mtab ; then
			umount elastix
		fi
		mount -o loop elastix.iso elastix/
		cp -r elastix/isolinux multicd-working/boot/elastix
		cp -r elastix/Elastix multicd-working/
		if [ -d multicd-working/images ];then
			echo "There is already a folder called \"images\". Are you adding another Red Hat-based distro?"
			echo "Copying anyway - be warned that on the final CD, something might not work properly."
		fi
		cp -r elastix/images multicd-working/
		cp -r elastix/repodata multicd-working/
		cp elastix/.discinfo multicd-working/
		cp elastix/* multicd-working/ 2>/dev/null || true
		umount elastix
		rmdir elastix
	fi
	if [ -f feather.iso ];then
		echo "Copying Feather..."
		if [ ! -d feather ];then
			mkdir feather
		fi
		if grep -q "`pwd`/feather" /etc/mtab ; then
			umount feather
		fi
		mount -o loop feather.iso feather/
		mkdir multicd-working/FEATHER
		cp -R feather/KNOPPIX/* multicd-working/FEATHER/ #Compressed filesystem
		mkdir multicd-working/boot/feather
		cp feather/boot/isolinux/linux24 multicd-working/boot/feather/linux24
		cp feather/boot/isolinux/minirt24.gz multicd-working/boot/feather/minirt24.gz
		umount feather
		rmdir feather
	fi
	if [ -f fedora-boot.iso ];then
		 echo "Copying Fedora netboot installer..."
		if [ ! -d fedora-boot ];then
			mkdir fedora-boot
		fi
		if grep -q "`pwd`/fedora-boot" /etc/mtab ; then
			umount fedora-boot
		fi
		mount -o loop fedora-boot.iso fedora-boot/
		mkdir multicd-working/boot/fedora
		cp fedora-boot/isolinux/vmlinuz multicd-working/boot/fedora/vmlinuz
		cp fedora-boot/isolinux/initrd.img multicd-working/boot/fedora/initrd.img
		if [ -d multicd-working/images ];then
			echo "There is already an \"images\" folder on the multicd. You might have another Red Hat-based distro on it."
			echo "Fedora's \"images\" folder won't be copied; instead, these files will be downloaded before the installer starts."
		else
			#Commenting out the below line will save about 100MB on the CD, but it will have to be downloaded when you install Fedora
			cp -R fedora-boot/images multicd-working/
		fi
		umount fedora-boot
		rmdir fedora-boot
	fi
	if [ -f finnix.iso ];then
		echo "Copying Finnix..."
		if [ ! -d finnix ];then
			mkdir finnix
		fi
		if grep -q "`pwd`/finnix" /etc/mtab ; then
			umount finnix
		fi
		mount -o loop finnix.iso finnix/
		# Copies compressed filesystem
		cp -r finnix/FINNIX multicd-working/
		# Copies kernel, and initramdisk
		mkdir multicd-working/boot/finnix
		cp finnix/isolinux/linux multicd-working/boot/finnix/
		cp finnix/isolinux/linux64 multicd-working/boot/finnix/
		cp finnix/isolinux/minirt multicd-working/boot/finnix/
		# Copies memdisk and Smart Boot Manager
		cp finnix/isolinux/memdisk multicd-working/boot/finnix/
		cp finnix/isolinux/sbm.imz multicd-working/boot/finnix/
		umount finnix
		rmdir finnix
	fi
	if [ -f fdfullcd.iso ] || [ -f fdbasecd.iso ];then
		echo "Copying FreeDOS..."
		if [ ! -d freedos ];then
			mkdir freedos
		fi
		if grep -q "`pwd`/freedos" /etc/mtab ; then
			umount freedos
		fi
		if [ -f fdfullcd.iso ];then mount -o loop fdfullcd.iso freedos/ #It might be fdbasecd or fdfullcd
		else mount -o loop fdbasecd.iso freedos/;fi
			mkdir multicd-working/boot/freedos
		cp -r freedos/freedos multicd-working/ #Core directory with the packages
		cp freedos/setup.bat multicd-working/setup.bat #FreeDOS setup
		cp freedos/isolinux/data/fdboot.img multicd-working/boot/freedos/fdboot.img #Initial DOS boot image
		if [ -d freedos/fdos ];then
			cp -r freedos/fdos multicd-working/ #Live CD
		fi
		if [ -d freedos/gemapps ];then
			cp -r freedos/gemapps multicd-working/ #OpenGEM
		fi
		if [ -f freedos/gem.bat ];then
			cp -r freedos/gem.bat multicd-working/ #OpenGEM setup
		fi
		umount freedos
		rmdir freedos
	fi
	if [ -f geexbox.iso ];then
		echo "Copying GeeXboX..."
		if [ ! -d geexbox ];then
			mkdir geexbox
		fi
		if grep -q "`pwd`/geexbox" /etc/mtab ; then
			umount geexbox
		fi
		mount -o loop geexbox.iso geexbox/
		cp -r geexbox/GEEXBOX multicd-working/ #Everything GeeXbox has is in one folder. :)
		umount geexbox;rmdir geexbox
	fi
	if [ -f gparted.iso ];then
		echo "Copying GParted Live..."
		if [ ! -d gparted ];then
			mkdir gparted
		fi
		if grep -q "`pwd`/gparted" /etc/mtab ; then
			umount gparted
		fi
		mount -o loop gparted.iso gparted/
		cp -R gparted/live multicd-working/boot/gparted #Compressed filesystem and kernel/initrd
		rm multicd-working/boot/gparted/memtest #Remember how we needed to do this with Debian Live? They use the same framework
		umount gparted
		rmdir gparted
	fi
	if [ -f insert.iso ];then
	if [ ! -d insert ];then
		mkdir insert
	fi
	if grep -q "`pwd`/insert" /etc/mtab ; then
		umount insert
	fi
	mount -o loop insert.iso insert/
	cp -R insert/INSERT multicd-working/ #Compressed filesystem
	mkdir multicd-working/boot/insert
	cp insert/isolinux/vmlinuz multicd-working/boot/insert/vmlinuz
	cp insert/isolinux/miniroot.lz multicd-working/boot/insert/miniroot.lz
	umount insert
	rmdir insert
	fi
	if [ -f ipcop.iso ];then
		echo "Copying IPCop..."
		if [ ! -d ipcop ];then
			mkdir ipcop
		fi
		if grep -q "`pwd`/ipcop" /etc/mtab ; then
			umount ipcop
		fi
		mount -o loop ipcop.iso ipcop/
		cp -r ipcop/boot/isolinux multicd-working/boot/ipcop
		if [ -d multicd-working/images ];then
			echo "There is already a folder called \"images\". Are you adding another Red Hat-based distro?"
			echo "Copying anyway - be warned that on the final CD, something might not work properly."
		fi
		cp -r ipcop/images multicd-working/
		cp ipcop/*.tgz multicd-working
		cp -r ipcop/doc multicd-working/boot/ipcop/ || true
		cp ipcop/*.txt multicd-working/boot/ipcop/ || true
		umount ipcop
		rmdir ipcop
	fi
	if [ -f knoppix.iso ];then
		echo "Copying Knoppix..."
		if [ ! -d knoppix ];then
			mkdir knoppix
		fi
		if grep -q "`pwd`/knoppix" /etc/mtab ; then
			umount knoppix
		fi
		mount -o loop knoppix.iso knoppix/
		mkdir multicd-working/KNOPPIX5
		#Compressed filesystem and docs. We have to call it KNOPPIX5 because DSL uses KNOPPIX, and if we change that DSL's installer won't work.
		for i in $(ls knoppix/KNOPPIX*|grep -v '^KNOPPIX2$');do
			cp -r knoppix/KNOPPIX/$i multicd-working/KNOPPIX5/
		done
		mkdir -p multicd-working/boot/knoppix
		cp knoppix/boot/isolinux/linux multicd-working/boot/knoppix/linux
		cp knoppix/boot/isolinux/minirt.gz multicd-working/boot/knoppix/minirt.gz
		umount knoppix;rmdir knoppix
	fi
	if [ -f kubuntu.iso ];then
		echo "Copying Kubuntu..."
		if [ ! -d kubuntu ];then
			mkdir kubuntu
		fi
		if grep -q "`pwd`/kubuntu" /etc/mtab ; then
			umount kubuntu
		fi
		mount -o loop kubuntu.iso kubuntu/
		cp -R kubuntu/casper multicd-working/boot/kubuntu #Live system
		cp -R kubuntu/preseed multicd-working/boot/kubuntu
		# Fix the isolinux.cfg
		cp kubuntu/isolinux/text.cfg multicd-working/boot/kubuntu/kubuntu.cfg
		sed -i 's@default live@default menu.c32@g' multicd-working/boot/kubuntu/kubuntu.cfg
		sed -i 's@file=/cdrom/preseed/@file=/cdrom/boot/kubuntu/preseed/@g' multicd-working/boot/kubuntu/kubuntu.cfg
		sed -i 's^initrd=/casper/^live-media-path=/boot/kubuntu ignore_uuid initrd=/boot/kubuntu/^g' multicd-working/boot/kubuntu/kubuntu.cfg
		sed -i 's^kernel /casper/^kernel /boot/kubuntu/^g' multicd-working/boot/kubuntu/kubuntu.cfg
		sed -i 's^splash.jpg^linuxmint.jpg^g' multicd-working/boot/kubuntu/kubuntu.cfg
		umount kubuntu;rmdir kubuntu
	fi
	if [ -f kubuntu_32_bit.iso ];then
		echo "Copying kubuntu_32_bit..."
		if [ ! -d kubuntu_32_bit ];then
			mkdir kubuntu_32_bit
		fi
		if grep -q "`pwd`/kubuntu_32_bit" /etc/mtab ; then
			umount kubuntu_32_bit
		fi
		mount -o loop kubuntu_32_bit.iso kubuntu_32_bit/
		cp -R kubuntu_32_bit/casper multicd-working/boot/kubuntu_32_bit #Live system
		cp -R kubuntu_32_bit/preseed multicd-working/boot/kubuntu_32_bit
		# Fix the isolinux.cfg
		cp kubuntu_32_bit/isolinux/text.cfg multicd-working/boot/kubuntu_32_bit/kubuntu_32_bit.cfg
		sed -i 's@default live@default menu.c32@g' multicd-working/boot/kubuntu_32_bit/kubuntu_32_bit.cfg
		sed -i 's@file=/cdrom/preseed/@file=/cdrom/boot/kubuntu_32_bit/preseed/@g' multicd-working/boot/kubuntu_32_bit/kubuntu_32_bit.cfg
		sed -i 's^initrd=/casper/^live-media-path=/boot/kubuntu_32_bit ignore_uuid initrd=/boot/kubuntu_32_bit/^g' multicd-working/boot/kubuntu_32_bit/kubuntu_32_bit.cfg
		sed -i 's^kernel /casper/^kernel /boot/kubuntu_32_bit/^g' multicd-working/boot/kubuntu_32_bit/kubuntu_32_bit.cfg
		sed -i 's^splash.jpg^linuxmint.jpg^g' multicd-working/boot/kubuntu_32_bit/kubuntu_32_bit.cfg
		umount kubuntu_32_bit;rmdir kubuntu_32_bit
	fi
	if [ -f kubuntu_64_bit.iso ];then
		echo "Copying kubuntu_64_bit..."
		if [ ! -d kubuntu_64_bit ];then
			mkdir kubuntu_64_bit
		fi
		if grep -q "`pwd`/kubuntu_64_bit" /etc/mtab ; then
			umount kubuntu_64_bit
		fi
		mount -o loop kubuntu_64_bit.iso kubuntu_64_bit/
		cp -R kubuntu_64_bit/casper multicd-working/boot/kubuntu_64_bit #Live system
		cp -R kubuntu_64_bit/preseed multicd-working/boot/kubuntu_64_bit
		# Fix the isolinux.cfg
		cp kubuntu_64_bit/isolinux/text.cfg multicd-working/boot/kubuntu_64_bit/kubuntu_64_bit.cfg
		sed -i 's@default live@default menu.c32@g' multicd-working/boot/kubuntu_64_bit/kubuntu_64_bit.cfg
		sed -i 's@file=/cdrom/preseed/@file=/cdrom/boot/kubuntu_64_bit/preseed/@g' multicd-working/boot/kubuntu_64_bit/kubuntu_64_bit.cfg
		sed -i 's^initrd=/casper/^live-media-path=/boot/kubuntu_64_bit ignore_uuid initrd=/boot/kubuntu_64_bit/^g' multicd-working/boot/kubuntu_64_bit/kubuntu_64_bit.cfg
		sed -i 's^kernel /casper/^kernel /boot/kubuntu_64_bit/^g' multicd-working/boot/kubuntu_64_bit/kubuntu_64_bit.cfg
		sed -i 's^splash.jpg^linuxmint.jpg^g' multicd-working/boot/kubuntu_64_bit/kubuntu_64_bit.cfg
		umount kubuntu_64_bit;rmdir kubuntu_64_bit
	fi
	if [ -f linuxmint.iso ];then
		echo "Copying Linux Mint..."
		if [ ! -d linuxmint ];then
			mkdir linuxmint
		fi
		if grep -q "`pwd`/linuxmint" /etc/mtab ; then
			umount linuxmint
		fi
		mount -o loop linuxmint.iso linuxmint/
		cp -R linuxmint/casper multicd-working/boot/linuxmint #Live system
	        #if [ -d linuxmint/drivers ];then cp -R linuxmint/drivers multicd-working/;fi #These don't exist anymore as of Mint 8
	        cp -R linuxmint/preseed multicd-working/boot/linuxmint
	        #cp -R linuxmint/.disk multicd-working/ #The UUID isn't needed when ignore_uuid is used
	        cp -R linuxmint/isolinux/splash.jpg multicd-working/boot/isolinux/linuxmint.jpg #A few more helper files
		# Fix the isolinux.cfg
		cp linuxmint/isolinux/isolinux.cfg multicd-working/boot/linuxmint/linuxmint.cfg
		sed -i 's@file=/cdrom/preseed/@file=/cdrom/boot/linuxmint/preseed/@g' multicd-working/boot/linuxmint/linuxmint.cfg
		sed -i 's^initrd=/casper/^live-media-path=/boot/linuxmint ignore_uuid initrd=/boot/linuxmint/^g' multicd-working/boot/linuxmint/linuxmint.cfg
		sed -i 's^kernel /casper/^kernel /boot/linuxmint/^g' multicd-working/boot/linuxmint/linuxmint.cfg
		sed -i 's^splash.jpg^linuxmint.jpg^g' multicd-working/boot/linuxmint/linuxmint.cfg
		umount linuxmint;rmdir linuxmint
	fi
	if [ -f macpup.iso ];then
		echo "Copying Macpup..."
		if [ ! -d macpup ];then
			mkdir macpup
		fi
		if grep -q "`pwd`/macpup" /etc/mtab ; then
			umount macpup
		fi
		mount -o loop macpup.iso macpup/
		#The installer will only work if Macpup is in the root dir of the disc
		if [ ! -f tags/puppies/macpup.inroot ];then
			mkdir multicd-working/macpup
			cp macpup/*.sfs multicd-working/macpup/
			cp macpup/vmlinuz multicd-working/macpup/vmlinuz
			cp macpup/initrd.gz multicd-working/macpup/initrd.gz
		else
			cp macpup/*.sfs multicd-working/
			cp macpup/vmlinuz multicd-working/vmlinuz
			cp macpup/initrd.gz multicd-working/initrd.gz
		fi
		umount macpup
		rmdir macpup
	fi
	if [ -f mandriva-boot.iso ];then
		echo "Copying Mandriva netboot installer..."
		if [ ! -d mandriva-boot ];then
			mkdir mandriva-boot
		fi
		if grep -q "`pwd`/mandriva-boot" /etc/mtab ; then
			umount mandriva-boot
		fi
		mount -o loop mandriva-boot.iso mandriva-boot/
		mkdir multicd-working/boot/mandriva
		cp -r mandriva-boot/isolinux/alt0 multicd-working/boot/mandriva/
		cp -r mandriva-boot/isolinux/alt1 multicd-working/boot/mandriva/
		umount mandriva-boot
		rmdir mandriva-boot
	fi
	if [ -f netbootcd.iso ];then
		echo "Copying NetbootCD..."
		if [ ! -d netbootcd ];then
			mkdir netbootcd
		fi
		if grep -q "`pwd`/netbootcd" /etc/mtab ; then
			umount netbootcd
		fi
		mount -o loop netbootcd.iso netbootcd/
		mkdir -p multicd-working/boot/nbcd
		cp netbootcd/isolinux/kexec.bzI multicd-working/boot/nbcd/kexec.bzI
		cp netbootcd/isolinux/* multicd-working/boot/nbcd/
		umount netbootcd;rmdir netbootcd
	fi
	if [ -f ntpasswd.iso ];then
		if [ ! -d ntpasswd ];then
			mkdir ntpasswd
		fi
		if grep -q "`pwd`/ntpasswd" /etc/mtab ; then
			umount ntpasswd
		fi
		mount -o loop ntpasswd.iso ntpasswd/
		mkdir multicd-working/boot/ntpasswd
		cp ntpasswd/vmlinuz multicd-working/boot/ntpasswd/vmlinuz
		cp ntpasswd/initrd.cgz multicd-working/boot/ntpasswd/initrd.cgz
		cp ntpasswd/scsi.cgz multicd-working/boot/ntpasswd/scsi.cgz #Alternate initrd
		umount ntpasswd
		rmdir ntpasswd
	fi
	if [ -f opensuse.iso ];then
		echo "Copying openSUSE netboot installer..."
		if [ ! -d opensuse ];then
			mkdir opensuse
		fi
		if grep -q "`pwd`/opensuse" /etc/mtab ; then
			umount opensuse
		fi
		mount -o loop opensuse.iso opensuse/
		mkdir multicd-working/boot/opensuse
		awk '/^VERSION/ {print $2}' opensuse/content >/tmp/$USER-opensuseversion.tmp
		cp opensuse/boot/i386/loader/linux multicd-working/boot/opensuse/linux
		cp opensuse/boot/i386/loader/initrd multicd-working/boot/opensuse/initrd
		umount opensuse
		rmdir opensuse
	fi
	if [ -f pclos.iso ];then
		echo "Copying PCLinuxOS..."
		if [ ! -d pclinuxos ];then
			mkdir pclinuxos
		fi
		if grep -q `pwd`/pclinuxos /etc/mtab ; then
			umount pclinuxos
		fi
		mount -o loop pclos.iso pclinuxos/
		mkdir multicd-working/PCLinuxOS
		# Kernel, initrd
		cp -r pclinuxos/isolinux multicd-working/PCLinuxOS/isolinux
		# Empty boot folder, don't ask me...
		# cp -r pclinuxos/boot multicd-working/PCLinuxOS/boot
		# Filesystem
		cp pclinuxos/livecd.sqfs multicd-working/PCLinuxOS/livecd.sqfs
		# Remove memtest and mediacheck
		rm multicd-working/PCLinuxOS/isolinux/memtest multicd-working/PCLinuxOS/isolinux/mediacheck
		umount pclinuxos
		rmdir pclinuxos
	fi
	if [ -f pclx.iso ];then
		echo "Copying PCLinuxOS LXDE..."
		if [ ! -d pclinuxos ];then
			mkdir pclinuxos
		fi
		if grep -q `pwd`/pclinuxos /etc/mtab ; then
			umount pclinuxos
		fi
		mount -o loop pclx.iso pclinuxos/
		mkdir multicd-working/pclosLXDE
		# Kernel, initrd
		cp -r pclinuxos/isolinux multicd-working/pclosLXDE/isolinux
		# Empty boot folder, don't ask me...
		# cp -r pclinuxos/boot multicd-working/pclosLXDE/boot
		# Filesystem
		cp pclinuxos/livecd.sqfs multicd-working/pclosLXDE/livecd.sqfs
		# Remove memtest and mediacheck
		rm multicd-working/pclosLXDE/isolinux/memtest multicd-working/pclosLXDE/isolinux/mediacheck
		umount pclinuxos
		rmdir pclinuxos
	fi
	if [ -f ping.iso ];then
		echo "Copying PING..."
		if [ ! -d ping ];then
			mkdir ping
		fi
		if grep -q "`pwd`/ping" /etc/mtab ; then
			umount ping
		fi
		mount -o loop ping.iso ping/
		mkdir -p multicd-working/boot/ping
		cp ping/kernel multicd-working/boot/ping/kernel
		cp ping/initrd.gz multicd-working/boot/ping/initrd.gz
		umount ping
		rmdir ping
	fi
	if [ -f pmagic.iso ];then
	echo "Copying Parted Magic..."
	if [ ! -d pmagic ];then
		mkdir pmagic
	fi
	if grep -q "`pwd`/pmagic" /etc/mtab ; then
		umount pmagic
	fi
	mount -o loop pmagic.iso pmagic/
	#Sudo is needed b/c of weird permissions on 4.7 ISO for the initrd
	sudo cp -r pmagic/pmagic multicd-working/ #Compressed filesystem and kernel/initrd
	umount pmagic
	rmdir pmagic
	fi
	if [ -f puppy.iso ];then
		echo "Copying Puppy..."
		if [ ! -d puppy ];then
			mkdir puppy
		fi
		if grep -q "`pwd`/puppy" /etc/mtab ; then
			umount puppy
		fi
		mount -o loop puppy.iso puppy/
		#The installer will only work if Puppy is in the root dir of the disc
		if [ ! -f tags/puppies/puppy.inroot ];then
			mkdir multicd-working/puppy
			cp puppy/*.sfs multicd-working/puppy/
			cp puppy/vmlinuz multicd-working/puppy/vmlinuz
			cp puppy/initrd.gz multicd-working/puppy/initrd.gz
		else
			cp puppy/*.sfs multicd-working/
			cp puppy/vmlinuz multicd-working/vmlinuz
			cp puppy/initrd.gz multicd-working/initrd.gz
		fi
		umount puppy
		rmdir puppy
	fi
	if [ -f riplinux.iso ];then
		if [ ! -d riplinux ];then
echo "Copying RIP Linux..."
			mkdir riplinux
		fi
		if grep -q "`pwd`/riplinux" /etc/mtab ; then
			umount riplinux
		fi
		mount -o loop riplinux.iso riplinux/
		mkdir -p multicd-working/boot/riplinux
		cp -r riplinux/boot/doc multicd-working/boot/ #Documentation
		cp -r riplinux/boot/grub4dos multicd-working/boot/riplinux/ #GRUB4DOS :)
		cp riplinux/boot/kernel32 multicd-working/boot/riplinux/kernel32 #32-bit kernel
		cp riplinux/boot/kernel64 multicd-working/boot/riplinux/kernel64 #64-bit kernel
		cp riplinux/boot/rootfs.cgz multicd-working/boot/riplinux/rootfs.cgz #Initrd
		perl -pi -e 's/\/boot\/kernel/\/boot\/riplinux\/kernel/g' multicd-working/boot/riplinux/grub4dos/menu-cd.lst #Fix the menu.lst
		perl -pi -e 's/\/boot\/rootfs.cgz/\/boot\/riplinux\/rootfs.cgz/g' multicd-working/boot/riplinux/grub4dos/menu-cd.lst #Fix it some more
		umount riplinux
		rmdir riplinux
	fi
	if [ -f slax.iso ];then
		echo "Copying Slax..."
		if [ ! -d slax ];then
			mkdir slax
		fi
		if grep -q "`pwd`/slax" /etc/mtab ; then
			umount slax
		fi
		mount -o loop slax.iso slax/
		#if [ $MODULES = 1 ];then
		#	mkdir multicd-working/slax
		#	for i in `ls slax/slax|sed -e '/^base$/ d'`;do
		#		cp -R slax/slax/$i multicd-working/slax/ #Copy everything but the base modules
		#	done
		#	mkdir multicd-working/slax/base
		#	for i in `cat ./slaxlist`;do
		#		cp slax/slax/base/$i multicd-working/slax/base/ #Copy only the modules you wanted
		#	done
		#	cp slax/slax/base/001-*.lzm multicd-working/slax/base/ #Don't forget the core module!
		#	rm ./slaxlist
		#else
			cp -R slax/slax multicd-working/ #Copy everything
		#fi
		mkdir -p multicd-working/boot/slax
		cp slax/boot/vmlinuz multicd-working/boot/slax/vmlinuz
		if [ -f slax/boot/initrd.lz ];then
			SUFFIX=lz
		else
			SUFFIX=gz
		fi
		cp slax/boot/initrd.$SUFFIX multicd-working/boot/slax/initrd.$SUFFIX
		umount slax
		rmdir slax
	fi

	if [ "`ls -1 *.lzm 2> /dev/null;true`" != "" ] && [ -f slax.iso ]; then echo "Copying Slax modules..."; fi
	
	if [ -f slax.iso ];then
		for i in `ls -1 *.lzm 2> /dev/null;true`; do
		cp $i multicd-working/slax/modules/ #Copy the .lzm module to the modules folder
		if [ -f tags/verbose ];then
			echo \(Copied $i\)
		fi
		done
	fi
	if [ -f slitaz.iso ];then
		echo "Copying SliTaz..."
		if [ ! -d slitaz ];then
			mkdir slitaz
		fi
		if grep -q "`pwd`/slitaz" /etc/mtab ; then
			umount slitaz
		fi
		mount -o loop slitaz.iso slitaz/
		mkdir -p multicd-working/boot/slitaz
		cp slitaz/boot/bzImage multicd-working/boot/slitaz/bzImage #Kernel
		cp slitaz/boot/rootfs.gz multicd-working/boot/slitaz/rootfs.gz #Root filesystem
		umount slitaz
		rmdir slitaz
	fi
	if [ -f sysrcd.iso ];then
	echo "Copying SystemRescueCd..."
	if [ ! -d sysrcd ];then
		mkdir sysrcd
	fi
	if grep -q "`pwd`/sysrcd" /etc/mtab ; then
		umount sysrcd
	fi
	mount -o loop sysrcd.iso sysrcd/
	mkdir multicd-working/boot/sysrcd
	cp sysrcd/sysrcd.* multicd-working/boot/sysrcd/ #Compressed filesystem
	cp sysrcd/isolinux/altker* multicd-working/boot/sysrcd/ #Kernels
	cp sysrcd/isolinux/rescue* multicd-working/boot/sysrcd/ #Kernels
	cp sysrcd/isolinux/initram.igz multicd-working/boot/sysrcd/initram.igz #Initrd
	cp sysrcd/version multicd-working/boot/sysrcd/version
	umount sysrcd
	rmdir sysrcd
	fi
	if [ -f tcnet.iso ];then
		echo "Copying TCNet..."
		if [ ! -d tcnet ];then
			mkdir tcnet
		fi
		if grep -q "`pwd`/tcnet" /etc/mtab ; then
			umount tcnet
		fi
		mount -o loop tcnet.iso tcnet/
		mkdir multicd-working/boot/tcnet
		cp tcnet/boot/bzImage multicd-working/boot/tcnet/bzImage #Linux kernel
		cp tcnet/boot/tcnet.gz multicd-working/boot/tcnet/tcnet.gz #TCNet image w/o apps - must load them from TCEs
		cp tcnet/boot/tcntfull.gz multicd-working/boot/tcnet/tcntfull.gz #TCNet image w/o apps - must have 192 MB RAM or more
		umount tcnet
		rmdir tcnet
	fi
	if [ -f tinycore.iso ];then
		echo "Copying Tiny Core..."
		if [ ! -d tinycore ];then
			mkdir tinycore
		fi
		if grep -q "`pwd`/tinycore" /etc/mtab ; then
			umount tinycore
		fi
		mount -o loop tinycore.iso tinycore/
		mkdir multicd-working/boot/tinycore
		cp tinycore/boot/bzImage multicd-working/boot/tinycore/bzImage #Linux kernel
		cp tinycore/boot/*.gz multicd-working/boot/tinycore/ #Copy any initrd there may be - this works for microcore too
		if [ -d tinycore/tce ];then cp -r tinycore/tce multicd-working/;fi
		umount tinycore
		rmdir tinycore
	fi
	if [ -f tinyme.iso ];then
		echo "Copying TinyMe..."
		if [ ! -d tinyme ];then
			mkdir tinyme
		fi
		if grep -q "`pwd`/tinyme" /etc/mtab ; then
			umount tinyme
		fi
		mount -o loop tinyme.iso tinyme/
		cp tinyme/livecd.sqfs multicd-working/livecd.sqfs #Compressed filesystem
		mkdir -p multicd-working/boot/tinyme
		cp tinyme/isolinux/vmlinuz multicd-working/boot/tinyme/vmlinuz
		cp tinyme/isolinux/initrd.gz multicd-working/boot/tinyme/initrd.gz
		umount tinyme
		rmdir tinyme
	fi
	if [ -f trk.iso ];then
		echo "Copying Trinity Rescue Kit..."
		if [ ! -d trinity ];then
			mkdir trinity
		fi
		if grep -q "`pwd`/trinity" /etc/mtab ; then
			umount trinity
		fi
		mount -o loop trk.iso trinity/
		cp -r trinity/trk3 multicd-working/ #TRK files
		mkdir multicd-working/boot/trinity
		cp trinity/kernel.trk multicd-working/boot/trinity/kernel.trk
		cp trinity/initrd.trk multicd-working/boot/trinity/initrd.trk
		cp trinity/bootlogo.jpg multicd-working/boot/isolinux/trklogo.jpg #Boot logo
		umount trinity;rmdir trinity
	fi
	set -e
	if [ -f ubcd.iso ];then
		echo "Copying Ultimate Boot CD..."
		if [ ! -d ubcd ];then
			mkdir ubcd
		fi
		if grep -q "`pwd`/ubcd" /etc/mtab ; then
			umount ubcd
		fi
		mount -o loop ubcd.iso ubcd/
		cp -r ubcd/ubcd multicd-working/
		cp -r ubcd/pmagic multicd-working/
		cp -r ubcd/antivir multicd-working/
		cp ubcd/license.txt multicd-working/ubcd-license.txt
		cp ubcd/boot/syslinux/econfig.c32 multicd-working/boot/isolinux/
		cp ubcd/boot/syslinux/reboot.c32 multicd-working/boot/isolinux/
		for i in multicd-working/ubcd/menus/*/*.cfg multicd-working/ubcd/menus/*/*/*.cfg multicd-working/pmagic/boot/*/*.cfg;do
			perl -pi -e 's/\/boot\/syslinux/\/boot\/isolinux/g' $i
		done
		head -n 1 ubcd/ubcd/menus/syslinux/defaults.cfg | awk '{ print $6 }'>ubcdver.tmp.txt
		#echo "$VERSION" > multicd-working/boot/ubcd/version
		umount ubcd
		rmdir ubcd
	fi
	if [ -f ubuntu-mini.iso ];then
		echo "Copying Ubuntu netboot installer..."
		if [ ! -d ubuntu-mini ];then
			mkdir ubuntu-mini
		fi
		if grep -q "`pwd`/ubuntu-mini" /etc/mtab ; then
			umount ubuntu-mini
		fi
		mount -o loop ubuntu-mini.iso ubuntu-mini/
		mkdir multicd-working/boot/ubuntu
		cp ubuntu-mini/linux multicd-working/boot/ubuntu/linux
		cp ubuntu-mini/initrd.gz multicd-working/boot/ubuntu/initrd.gz
		umount ubuntu-mini
		rmdir ubuntu-mini
	fi
	if [ -f ubuntu.iso ];then
		echo "Copying Ubuntu..."
		if [ ! -d ubuntu ];then
			mkdir ubuntu
		fi
		if grep -q "`pwd`/ubuntu" /etc/mtab ; then
			umount ubuntu
		fi
		mount -o loop ubuntu.iso ubuntu/
		cp -R ubuntu/casper multicd-working/boot/ubuntu #Live system
		cp -R ubuntu/preseed multicd-working/boot/ubuntu
		# Fix the isolinux.cfg
		cp ubuntu/isolinux/text.cfg multicd-working/boot/ubuntu/ubuntu.cfg
		sed -i 's@default live@default menu.c32@g' multicd-working/boot/ubuntu/ubuntu.cfg
		sed -i 's@file=/cdrom/preseed/@file=/cdrom/boot/ubuntu/preseed/@g' multicd-working/boot/ubuntu/ubuntu.cfg
		sed -i 's^initrd=/casper/^live-media-path=/boot/ubuntu ignore_uuid initrd=/boot/ubuntu/^g' multicd-working/boot/ubuntu/ubuntu.cfg
		sed -i 's^kernel /casper/^kernel /boot/ubuntu/^g' multicd-working/boot/ubuntu/ubuntu.cfg
		sed -i 's^splash.jpg^linuxmint.jpg^g' multicd-working/boot/ubuntu/ubuntu.cfg
		umount ubuntu;rmdir ubuntu
	fi
	if [ -f ubuntu2.iso ];then
		echo "Copying Ubuntu #2..."
		if [ ! -d ubuntu2 ];then
			mkdir ubuntu2
		fi
		if grep -q "`pwd`/ubuntu2" /etc/mtab ; then
			umount ubuntu2
		fi
		mount -o loop ubuntu2.iso ubuntu2/
		cp -R ubuntu2/casper multicd-working/boot/ubuntu2 #Live system
		cp -R ubuntu2/preseed multicd-working/boot/ubuntu2
		# Fix the isolinux.cfg
		cp ubuntu2/isolinux/text.cfg multicd-working/boot/ubuntu2/ubuntu2.cfg
		sed -i 's@default live@default menu.c32@g' multicd-working/boot/ubuntu2/ubuntu2.cfg
		sed -i 's@file=/cdrom/preseed/@file=/cdrom/boot/ubuntu2/preseed/@g' multicd-working/boot/ubuntu2/ubuntu2.cfg
		sed -i 's^initrd=/casper/^live-media-path=/boot/ubuntu2 ignore_uuid initrd=/boot/ubuntu2/^g' multicd-working/boot/ubuntu2/ubuntu2.cfg
		sed -i 's^kernel /casper/^kernel /boot/ubuntu2/^g' multicd-working/boot/ubuntu2/ubuntu2.cfg
		sed -i 's^splash.jpg^linuxmint.jpg^g' multicd-working/boot/ubuntu2/ubuntu2.cfg
		umount ubuntu2;rmdir ubuntu2
	fi
	if [ -f ubuntu3.iso ];then
		echo "Copying Ubuntu #3..."
		if [ ! -d ubuntu3 ];then
			mkdir ubuntu3
		fi
		if grep -q "`pwd`/ubuntu3" /etc/mtab ; then
			umount ubuntu3
		fi
		mount -o loop ubuntu3.iso ubuntu3/
		cp -R ubuntu3/casper multicd-working/boot/ubuntu3 #Live system
		cp -R ubuntu3/preseed multicd-working/boot/ubuntu3
		# Fix the isolinux.cfg
		cp ubuntu3/isolinux/text.cfg multicd-working/boot/ubuntu3/ubuntu3.cfg
		sed -i 's@default live@default menu.c32@g' multicd-working/boot/ubuntu3/ubuntu3.cfg
		sed -i 's@file=/cdrom/preseed/@file=/cdrom/boot/ubuntu3/preseed/@g' multicd-working/boot/ubuntu3/ubuntu3.cfg
		sed -i 's^initrd=/casper/^live-media-path=/boot/ubuntu3 ignore_uuid initrd=/boot/ubuntu3/^g' multicd-working/boot/ubuntu3/ubuntu3.cfg
		sed -i 's^kernel /casper/^kernel /boot/ubuntu3/^g' multicd-working/boot/ubuntu3/ubuntu3.cfg
		sed -i 's^splash.jpg^linuxmint.jpg^g' multicd-working/boot/ubuntu3/ubuntu3.cfg
		umount ubuntu3;rmdir ubuntu3
	fi
	if [ -f ubuntu_32_bit.iso ];then
		echo "Copying ubuntu_32_bit..."
		if [ ! -d ubuntu_32_bit ];then
			mkdir ubuntu_32_bit
		fi
		if grep -q "`pwd`/ubuntu_32_bit" /etc/mtab ; then
			umount ubuntu_32_bit
		fi
		mount -o loop ubuntu_32_bit.iso ubuntu_32_bit/
		cp -R ubuntu_32_bit/casper multicd-working/boot/ubuntu_32_bit #Live system
		cp -R ubuntu_32_bit/preseed multicd-working/boot/ubuntu_32_bit
		# Fix the isolinux.cfg
		cp ubuntu_32_bit/isolinux/text.cfg multicd-working/boot/ubuntu_32_bit/ubuntu_32_bit.cfg
		sed -i 's@default live@default menu.c32@g' multicd-working/boot/ubuntu_32_bit/ubuntu_32_bit.cfg
		sed -i 's@file=/cdrom/preseed/@file=/cdrom/boot/ubuntu_32_bit/preseed/@g' multicd-working/boot/ubuntu_32_bit/ubuntu_32_bit.cfg
		sed -i 's^initrd=/casper/^live-media-path=/boot/ubuntu_32_bit ignore_uuid initrd=/boot/ubuntu_32_bit/^g' multicd-working/boot/ubuntu_32_bit/ubuntu_32_bit.cfg
		sed -i 's^kernel /casper/^kernel /boot/ubuntu_32_bit/^g' multicd-working/boot/ubuntu_32_bit/ubuntu_32_bit.cfg
		sed -i 's^splash.jpg^linuxmint.jpg^g' multicd-working/boot/ubuntu_32_bit/ubuntu_32_bit.cfg
		umount ubuntu_32_bit;rmdir ubuntu_32_bit
	fi
	if [ -f ubuntu_64_bit.iso ];then
		echo "Copying ubuntu_64_bit..."
		if [ ! -d ubuntu_64_bit ];then
			mkdir ubuntu_64_bit
		fi
		if grep -q "`pwd`/ubuntu_64_bit" /etc/mtab ; then
			umount ubuntu_64_bit
		fi
		mount -o loop ubuntu_64_bit.iso ubuntu_64_bit/
		cp -R ubuntu_64_bit/casper multicd-working/boot/ubuntu_64_bit #Live system
		cp -R ubuntu_64_bit/preseed multicd-working/boot/ubuntu_64_bit
		# Fix the isolinux.cfg
		cp ubuntu_64_bit/isolinux/text.cfg multicd-working/boot/ubuntu_64_bit/ubuntu_64_bit.cfg
		sed -i 's@default live@default menu.c32@g' multicd-working/boot/ubuntu_64_bit/ubuntu_64_bit.cfg
		sed -i 's@file=/cdrom/preseed/@file=/cdrom/boot/ubuntu_64_bit/preseed/@g' multicd-working/boot/ubuntu_64_bit/ubuntu_64_bit.cfg
		sed -i 's^initrd=/casper/^live-media-path=/boot/ubuntu_64_bit ignore_uuid initrd=/boot/ubuntu_64_bit/^g' multicd-working/boot/ubuntu_64_bit/ubuntu_64_bit.cfg
		sed -i 's^kernel /casper/^kernel /boot/ubuntu_64_bit/^g' multicd-working/boot/ubuntu_64_bit/ubuntu_64_bit.cfg
		sed -i 's^splash.jpg^linuxmint.jpg^g' multicd-working/boot/ubuntu_64_bit/ubuntu_64_bit.cfg
		umount ubuntu_64_bit;rmdir ubuntu_64_bit
	fi
	if [ -f vyatta.iso ];then
		echo "Copying Vyatta..."
		if [ ! -d vyatta ];then
			mkdir vyatta
		fi
		if grep -q "`pwd`/vyatta" /etc/mtab ; then
			umount vyatta
		fi
		mount -o loop vyatta.iso vyatta/
		cp -r vyatta/live multicd-working/Vyatta #Pretty much everything except documentation/help
		umount vyatta
		rmdir vyatta
	fi
	if [ -f weaknet.iso ];then
		echo "Copying WeakNet Linux..."
		if [ ! -d weaknet ];then
			mkdir weaknet
		fi
		if grep -q "`pwd`/weaknet" /etc/mtab ; then
			umount weaknet
		fi
		mount -o loop weaknet.iso weaknet/
		mkdir multicd-working/boot/weaknet
		cp -R weaknet/casper/* multicd-working/boot/weaknet/
		echo -n "Making initrd..."
		mkdir weaknet-inittmp
		cd weaknet-inittmp
		gzip -cd ../multicd-working/boot/weaknet/initrd.gz|cpio -id
		perl -pi -e 's/path\/casper/path\/boot\/weaknet/g' scripts/casper
		perl -pi -e 's/directory\/casper/directory\/boot\/weaknet/g' scripts/casper
		find . | cpio --create --format='newc' | gzip -c > ../multicd-working/boot/weaknet/initrd.gz
		cd ..
		echo " done."
		rm -r weaknet-inittmp
		umount weaknet
		rmdir weaknet
	fi
	if [ -f win98se.iso ];then
		echo "Copying Windows 98 SE..."
		if [ ! -d win98se ];then
			mkdir win98se
		fi
		if grep -q "`pwd`/win98se" /etc/mtab ; then
			umount win98se
		fi
		mount -o loop win98se.iso win98se/
		cp -r win98se/win98 multicd-working/
		rm -r multicd-working/win98/ols
		if [ -f tags/9xextras ];then
			cp -r win98se/add-ons multicd-working/win98/add-ons
			cp -r win98se/tools multicd-working/win98/tools
		fi
		umount win98se;rmdir win98se
		dd if=win98se.iso bs=43008 skip=1 count=35 of=/tmp/dat
		dd if=/tmp/dat bs=1474560 count=1 of=multicd-working/boot/win98se.img
		rm /tmp/dat
		if which mdel > /dev/null;then
			mdel -i multicd-working/boot/win98se.img ::JO.SYS #Disable HD/CD boot prompt - not needed, but a nice idea
		fi
	fi
	if [ -f winme.iso ];then
		echo "Copying Windows Me..."
		if [ ! -d winme ];then
			mkdir winme
		fi
		if grep -q "`pwd`/winme" /etc/mtab ; then
			umount winme
		fi
		mount -o loop winme.iso winme/
		cp -r winme/win9x multicd-working/
		rm -r multicd-working/win9x/ols
		if [ -f tags/9xextras ];then
			cp -r winme/add-ons multicd-working/win9x/add-ons
			cp -r winme/tools multicd-working/win9x/tools
		fi
		umount winme;rmdir winme
		dd if=winme.iso bs=716800 skip=1 count=3 of=/tmp/dat
		dd if=/tmp/dat bs=1474560 count=1 of=multicd-working/boot/winme.img
		rm /tmp/dat
	fi
	if [ -f wolvix.iso ];then
		echo "Copying Wolvix..."
		if [ ! -d wolvix ];then
			mkdir wolvix
		fi
		if grep -q "`pwd`/wolvix" /etc/mtab ; then
			umount wolvix
		fi
		mount -o loop wolvix.iso wolvix/
		cp -r wolvix/wolvix multicd-working/ #The Wolvix folder with all its files
		mkdir -p multicd-working/boot/wolvix
		#The kernel/initrd must be here for the installer
		cp wolvix/boot/vmlinuz multicd-working/boot/vmlinuz
		cp wolvix/boot/initrd.gz multicd-working/boot/initrd.gz
		umount wolvix
		rmdir wolvix
	fi
#END COPY

#The below chunk copies floppy images.
j="0"
for i in *.im[agz]; do
	test -r "$i" || continue
	cp "$i" multicd-working/boot/$j.img
	if [ $VERBOSE = 1 ];then
		echo "Saved as "$j".img."
	else
		echo
	fi
	j=$( expr $j + 1 )
done

#This chunk copies floppy images in the "games" folder. They will have their own submenu.
if [ $GAMES = 1 ];then
	k="0"
	mkdir -p multicd-working/boot/games
	for i in games/*.im[agz]; do
		test -r "$i" || continue
		echo -n Copying $(echo $i|sed 's/\.im.//'|sed 's/games\///')"... "
		cp "$i" multicd-working/boot/games/$k.img
		if [ $VERBOSE = 1 ];then
			echo "Saved as games/"$k".img."
		else
			echo
		fi
		k=$( expr $k + 1 )
	done
fi

if [ -f grub.exe ];then
 echo "Copying GRUB4DOS..."
 cp grub.exe multicd-working/boot/grub.exe
fi

echo "Downloading SYSLINUX..."
if [ ! -f syslinux.tar.gz ];then
	if [ $VERBOSE != 0 ];then
		wget -O syslinux.tar.gz ftp://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-4.02.tar.gz
	else
		wget -qO syslinux.tar.gz ftp://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-4.02.tar.gz
	fi
fi
if [ $? = 0 ];then
	echo "Unpacking and copying files..."
	tar -C /tmp -xzf syslinux.tar.gz
	cp /tmp/syslinux-*/core/isolinux.bin multicd-working/boot/isolinux/
	cp /tmp/syslinux-*/memdisk/memdisk multicd-working/boot/isolinux/
	cp /tmp/syslinux-*/com32/menu/menu.c32 multicd-working/boot/isolinux/
	cp /tmp/syslinux-*/com32/menu/vesamenu.c32 multicd-working/boot/isolinux/
	cp /tmp/syslinux-*/com32/modules/chain.c32 multicd-working/boot/isolinux/
	rm -r /tmp/syslinux-*/
else
	echo "Downloading of SYSLINUX failed."
	exit 1
fi

if [ $MEMTEST = 1 ];then
 if [ -f memtest ];then
  cp memtest multicd-working/boot/memtest
 else
  echo "Downloading memtest86+ 4.10 from memtest.org..."
  if [ $VERBOSE != 0 ];then
   wget -O- http://memtest.org/download/4.10/memtest86+-4.10.bin.gz|gzip -cd>memtest
  else
   wget -qO- http://memtest.org/download/4.10/memtest86+-4.10.bin.gz|gzip -cd>memtest
  fi
  cp memtest multicd-working/boot/memtest
 fi
fi

echo "Writing isolinux.cfg..."

##BEGIN ISOLINUX MENU CODE##
#The ISOLINUX menu can be rearranged by renaming your plugin scripts - they are processed in alphabetical order.

#BEGIN HEADER#
#Don't move this part. You can change the timeout and menu title, however.
echo "DEFAULT menu.c32
TIMEOUT 0
PROMPT 0
menu title $CDTITLE" > multicd-working/boot/isolinux/isolinux.cfg
#END HEADER#

#BEGIN COLOR CODE#
	if [ $MENUCOLOR = 40 ];then
		BORDERCOLOR=37
	else
		BORDERCOLOR=30
	fi
	echo "	menu color screen 37;40
	menu color border 30;44
	menu color title 1;36;44
	menu color unsel 37;44
	menu color hotkey 1;37;44
	menu color sel 7;37;40
	menu color hotsel 1;7;37;40
	menu color disabled 1;30;44
	menu color scrollbar 30;44
	menu color tabmsg 31;40
	menu color cmdmark 1;36;40
	menu color cmdline 37;40
	menu color pwdborder 30;47
	menu color pwdheader 31;47
	menu color pwdentry 30;47
	menu color timeout_msg 37;40
	menu color timeout 1;37;40
	menu color help 37;40
	menu color msg07 37;40"|sed -e "s/30/$BORDERCOLOR/g" -e "s/44/$MENUCOLOR/g">>multicd-working/boot/isolinux/isolinux.cfg
#END COLOR CODE#

#BEGIN HD BOOT OPTION#
#If this bugs you, get rid of it.
echo "label local
menu label Boot from ^hard drive
kernel chain.c32
append hd0" >> multicd-working/boot/isolinux/isolinux.cfg
#END HD BOOT OPTION#

#START WRITE
if [ -f antix.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << "EOF"
label anitX
menu label ^antiX
com32 menu.c32
append antix.menu
EOF
cat > multicd-working/boot/isolinux/antix.menu << "EOF"
DEFAULT menu.c32
TIMEOUT 0
PROMPT 0
menu title AntiX Options

label  antiX-Default
menu label ^antiX-Default
kernel /boot/antix/vmlinuz
append SELINUX_INIT=NO init=/etc/init quiet nosplash vga=791 aufs  initrd=/boot/antix/initrd.gz

label  antiX-Lite-noNet
kernel /boot/antix/vmlinuz
append SELINUX_INIT=NO init=/etc/init quiet nosplash vga=791 aufs mean lean initrd=/boot/antix/initrd.gz

label  antiX-Vesa
menu label antiX-Vesa (display problem or virtualbox)
kernel /boot/antix/vmlinuz
append SELINUX_INIT=NO init=/etc/init vga=normal quiet nosplash drvr=vesa aufs lean initrd=/boot/antix/initrd.gz

label  antiX-UltraLite-Vesa
menu label antiX-UltraLite-Vesa (Fast boot)
kernel /boot/antix/vmlinuz
append SELINUX_INIT=NO init=/etc/init vga=normal quiet nosplash drvr=vesa aufs lean Xtralean initrd=/boot/antix/initrd.gz

label  antiX-Failsafe
menu label antiX-Failsafe (minimum options, small display)
kernel /boot/antix/vmlinuz
append SELINUX_INIT=NO init=/etc/init quiet nosplash vga=normal nosound noapic noscsi nodma noapm nousb nopcmcia nofirewire noagp nomce nodhcp nodbus nocpufreq nobluetooth drvr=fbdev aufs res=800x600v initrd=/boot/antix/initrd.gz

label  antiX-60Hz
menu label antiX-60Hz (force monitor to 58-62 Hz)
kernel /boot/antix/vmlinuz
append SELINUX_INIT=NO init=/etc/init vga=791 quiet nosplash vsync=58-62 aufs initrd=/boot/antix/initrd.gz

label  antiX-75Hz
menu label antiX-75Hz (force monitor to 73-77 Hz)
kernel /boot/antix/vmlinuz
append SELINUX_INIT=NO init=/etc/init vga=791 quiet nosplash vsync=73-77 aufs initrd=/boot/antix/initrd.gz

label back
menu label ^Back to main menu
com32 menu.c32
append isolinux.cfg
EOF
fi
if [ -f arch.iso ];then
echo "
label arch
menu label Boot ArchLive
kernel /boot/arch/vmlinuz26
append lang=en locale=en_US.UTF-8 usbdelay=5 ramdisk_size=75% initrd=/boot/arch/archiso.img archisolabel=$ISOLABEL
" >> multicd-working/boot/isolinux/isolinux.cfg
fi
if [ -f archdual.iso ];then
echo "
label arch1
menu label Boot ArchLive i686
kernel /boot/arch/i686/vmlinuz26
append lang=en locale=en_US.UTF-8 usbdelay=5 ramdisk_size=75% initrd=/boot/arch/i686/archiso.img archisolabel=$ISOLABEL

label arch2
menu label Boot ArchLive x86_64
kernel /boot/arch/x86_64/vmlinuz26
append lang=en locale=en_US.UTF-8 usbdelay=5 ramdisk_size=75% initrd=/boot/arch/x86_64/archiso.img archisolabel=$ISOLABEL
" >> multicd-working/boot/isolinux/isolinux.cfg
fi
if [ -f austrumi.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << "EOF"
label austrumilinux
	menu label ^Austrumi
	com32 vesamenu.c32
	append al.menu
EOF
fi
if [ -f backtrack.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << "EOF"
label			backtrack1024
menu label		Start ^BackTrack FrameBuffer (1024x768)
kernel			/boot/backtrack/vmlinuz
append			BOOT=casper boot=casper nopersistent rw quiet vga=0x317 ignore_uuid
initrd			/boot/backtrack/initrd.gz

label			backtrack800
menu label		Start BackTrack FrameBuffer (800x600)
kernel			/boot/backtrack/vmlinuz
append			BOOT=casper boot=casper nopersistent rw quiet vga=0x314 ignore_uuid
initrd			/boot/backtrack/initrd800.gz

label			backtrack-forensics
menu label		Start BackTrack Forensics (no swap)
kernel			/boot/backtrack/vmlinuz
append			BOOT=casper boot=casper nopersistent rw vga=0x317 ignore_uuid
initrd			/boot/backtrack/initrdfr.gz

label			backtrack-safe
menu label 		Start BackTrack in Safe Graphical Mode
kernel			/boot/backtrack/vmlinuz
append			BOOT=casper boot=casper xforcevesa rw quiet ignore_uuid
initrd			/boot/backtrack/initrd.gz

label			backtrack-persistent
menu label		Start Persistent Backtrack Live CD
kernel			/boot/backtrack/vmlinuz
append			BOOT=casper boot=casper persistent rw quiet ignore_uuid
initrd			/boot/backtrack/initrd.gz

label			backtrack-text
menu label		Start BackTrack in Text Mode
kernel			/boot/backtrack/vmlinuz
append			BOOT=casper boot=casper nopersistent textonly rw quiet ignore_uuid
initrd			/boot/backtrack/initrd.gz

label			backtrack-ram
menu label		Start BackTrack Graphical Mode from RAM
kernel			/boot/backtrack/vmlinuz
append			BOOT=casper boot=casper toram nopersistent rw quiet ignore_uuid
initrd			/boot/backtrack/initrd.gz
EOF
fi
if [ -f caine.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << EOF
label caine2
kernel /boot/caine/vmlinuz
initrd /boot/caine/initrd.gz
append live-media-path=/boot/caine ignore_uuid noprompt persistent BOOT_IMAGE=/casper/vmlinuz file=/cdrom/CaineFiles/custom.seed boot=casper -- debian-installer/language=en console-setup/layoutcode=en
EOF
fi
if [ -f cdl.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << "EOF"
#Uncomment extra language options as needed
label cdlinux-sfg
	menu label ^CDlinux Safe Graphics Mode
	kernel /CDlinux/bzImage quiet CDL_SAFEG=yes
	append initrd=/CDlinux/initrd 
#label cdlinux-de_DE
#	menu label ^CDlinux (de_DE) Deutsch
#	kernel /CDlinux/bzImage quiet CDL_LANG=de_DE.UTF-8
#	append initrd=/CDlinux/initrd
#label cdlinux-en_CA
#	menu label ^CDlinux (en_CA) English
#	kernel /CDlinux/bzImage quiet CDL_LANG=en_CA.UTF-8
#	append initrd=/CDlinux/initrd
#label cdlinux-en_GB
#	menu label ^CDlinux (en_GB) English
#	kernel /CDlinux/bzImage quiet CDL_LANG=en_GB.UTF-8
#	append initrd=/CDlinux/initrd
label cdlinux-en_US
	menu label ^CDlinux (en_US) English
	kernel /CDlinux/bzImage quiet CDL_LANG=en_US.UTF-8
	append initrd=/CDlinux/initrd
#label cdlinux-fr_CA
#	menu label ^CDlinux (fr_CA) French
#	kernel /CDlinux/bzImage quiet CDL_LANG=fr_CA.UTF-8
#	append initrd=/CDlinux/initrd
#label cdlinux-fr_CH
#	menu label ^CDlinux (fr_CH) French
#	kernel /CDlinux/bzImage quiet CDL_LANG=fr_CH.UTF-8
#	append initrd=/CDlinux/initrd
#label cdlinux-fr_FR
#	menu label ^CDlinux (fr_FR) French
#	kernel /CDlinux/bzImage quiet CDL_LANG=fr_FR.UTF-8
#	append initrd=/CDlinux/initrd
#label cdlinux-ja_JP
#	menu label ^CDlinux (ja_JP) Japanese
#	kernel /CDlinux/bzImage quiet CDL_LANG=ja_JP.UTF-8
#	append initrd=/CDlinux/initrd
#label cdlinux-ru_RU
#	menu label ^CDlinux (ru_RU) Russian
#	kernel /CDlinux/bzImage quiet CDL_LANG=ru_RU.UTF-8
#	append initrd=/CDlinux/initrd
#label cdlinux-zh_CN
#	menu label ^CDlinux (zh_CN) Chinese
#	kernel /CDlinux/bzImage quiet CDL_LANG=zh_CN.UTF-8
#	append initrd=/CDlinux/initrd
#label cdlinux-zh_TW
#	menu label ^CDlinux (zh_TW) Chinese
#	kernel /CDlinux/bzImage quiet CDL_LANG=zh_TW.UTF-8
#	append initrd=/CDlinux/initrd
EOF
fi
if [ -f clonezilla.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << "EOF"
label clonezilla
menu label ^Clonezilla
com32 vesamenu.c32
append clonezil.cfg
EOF
perl -pi -e 's/\/live\//\/boot\/clonezilla\//g' multicd-working/boot/isolinux/clonezil.cfg #Change directory to /boot/clonezilla
perl -pi -e 's/append initrd=/append live-media-path=\/boot\/clonezilla initrd=/g' multicd-working/boot/isolinux/clonezil.cfg #Tell the kernel we moved it
cat >> multicd-working/boot/isolinux/clonezil.cfg << "EOF"

label back
menu label Back to main menu
com32 menu.c32
append isolinux.cfg
EOF
fi
#BEGIN DBAN ENTRY#
if [ -f dban.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << "EOF"
#Most of the DBAN options are hidden on the menu because they're so dangerous.
#You can comment the "menu hide" line and they will appear as seperate boot options on the menu.

LABEL  dban
MENU LABEL ^DBAN
KERNEL /boot/dban1/dban.bzi
APPEND nuke="dwipe --method prng --rounds 8 --verify off" floppy=0,16,cmos
#APPEND initrd=/boot/dban1/initrd.gz root=/dev/ram0 init=/rc nuke="dwipe" silent

LABEL  autonuke
MENU HIDE
KERNEL /boot/dban1/kernel.bzi
APPEND initrd=/boot/dban1/initrd.gz root=/dev/ram0 init=/rc nuke="dwipe --autonuke" silent

LABEL  dod
MENU HIDE
KERNEL /boot/dban1/kernel.bzi
APPEND initrd=/boot/dban1/initrd.gz root=/dev/ram0 init=/rc nuke="dwipe --autonuke --method dod522022m" silent

LABEL  dod3pass
MENU HIDE
KERNEL /boot/dban1/kernel.bzi
APPEND initrd=/boot/dban1/initrd.gz root=/dev/ram0 init=/rc nuke="dwipe --autonuke --method dod3pass" silent

LABEL  dodshort
MENU HIDE
KERNEL /boot/dban1/kernel.bzi
APPEND initrd=/boot/dban1/initrd.gz root=/dev/ram0 init=/rc nuke="dwipe --autonuke --method dodshort" silent

LABEL  gutmann
MENU HIDE
KERNEL /boot/dban1/kernel.bzi
APPEND initrd=/boot/dban1/initrd.gz root=/dev/ram0 init=/rc nuke="dwipe --autonuke --method gutmann" silent

LABEL  ops2
MENU HIDE
KERNEL /boot/dban1/kernel.bzi
APPEND initrd=/boot/dban1/initrd.gz root=/dev/ram0 init=/rc quiet nuke="dwipe --autonuke --method ops2" silent

LABEL  paranoid
MENU HIDE
KERNEL /boot/dban1/kernel.bzi
APPEND initrd=/boot/dban1/initrd.gz root=/dev/ram0 init=/rc quiet nuke="dwipe --autonuke --method prng --rounds 8 --verify all" silent

LABEL  prng
MENU HIDE
KERNEL /boot/dban1/kernel.bzi
APPEND initrd=/boot/dban1/initrd.gz root=/dev/ram0 init=/rc quiet nuke="dwipe --autonuke --method prng --rounds 8" silent

LABEL  quick
MENU HIDE
KERNEL /boot/dban1/kernel.bzi
APPEND initrd=/boot/dban1/initrd.gz root=/dev/ram0 init=/rc quiet nuke="dwipe --autonuke --method quick" silent

LABEL  zero
MENU HIDE
KERNEL /boot/dban1/kernel.bzi
APPEND initrd=/boot/dban1/initrd.gz root=/dev/ram0 init=/rc quiet nuke="dwipe --autonuke --method zero" silent

LABEL  nofloppy
MENU HIDE
KERNEL /boot/dban1/kernel.bzi
APPEND initrd=/boot/dban1/initrd.gz root=/dev/ram0 init=/rc quiet nuke="dwipe" floppy=0,16,cmos

LABEL  nosilent
MENU HIDE
KERNEL /boot/dban1/kernel.bzi
APPEND initrd=/boot/dban1/initrd.gz root=/dev/ram0 init=/rc quiet nuke="dwipe"

LABEL  noverify
MENU HIDE
KERNEL /boot/dban1/kernel.bzi
APPEND initrd=/boot/dban1/initrd.gz root=/dev/ram0 init=/rc quiet nuke="dwipe --verify off"

LABEL  debug
MENU HIDE
KERNEL /boot/dban1/kernel.bzi
APPEND initrd=/boot/dban1/initrd.gz root=/dev/ram0 init=/rc nuke="exec ash" debug

LABEL  shell
MENU HIDE
KERNEL /boot/dban1/kernel.bzi
APPEND initrd=/boot/dban1/initrd.gz root=/dev/ram0 init=/rc nuke="exec ash"

LABEL  verbose
MENU HIDE
KERNEL /boot/dban1/kernel.bzi
APPEND initrd=/boot/dban1/initrd.gz root=/dev/ram0 init=/rc nuke="dwipe --method quick"
EOF
fi
#END DBAN ENTRY#
if [ -f debian-mini.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << "EOF"
LABEL dinstall
menu label ^Install Debian
	kernel /boot/debian/linux
	append vga=normal initrd=/boot/debian/initrd.gz -- quiet 
LABEL dexpert
menu label Install Debian - expert mode
	kernel /boot/debian/linux
	append priority=low vga=normal initrd=/boot/debian/initrd.gz -- 
EOF
fi
if [ -f binary.iso ];then
cat /tmp/live.cfg|grep -v memtest|grep -v "Memory test">>multicd-working/boot/isolinux/isolinux.cfg
rm /tmp/live.cfg
fi
if [ -f deli.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << "EOF"
label deli-ide
	menu label ^DeLi Linux
	kernel /isolinux/bzImage
	append initrd=/isolinux/initrd.gz load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=6464 rw root=/dev/ram

label deli-scsi
	menu label ^DeLi Linux - SCSI
	kernel /isolinux/scsi
	append initrd=/isolinux/initrd.gz load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=6464 rw root=/dev/ram
EOF
fi
if [ -f diskcopy.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << "EOF"
label diskcopy
menu label ^EASEUS Disk Copy
kernel /boot/diskcopy/bzImage
append initrd=/boot/diskcopy/initrd.img
EOF
fi
if [ -f dsl.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << "EOF"
label dslopts
menu label --> DSL
com32 menu.c32
append dsl.menu
EOF
cat >> multicd-working/boot/isolinux/dsl.menu << "EOF"
LABEL dsl
MENU LABEL DSL
KERNEL /boot/isolinux/linux24
APPEND ramdisk_size=100000 init=/etc/init lang=us apm=power-off vga=791 initrd=/boot/isolinux/minirt24.gz nomce noapic quiet BOOT_IMAGE=knoppix

LABEL dsl-toram
MENU LABEL DSL (load to RAM)
KERNEL /boot/isolinux/linux24
APPEND ramdisk_size=100000 init=/etc/init lang=us apm=power-off vga=791 initrd=/boot/isolinux/minirt24.gz nomce noapic quiet toram BOOT_IMAGE=knoppix

LABEL dsl-2
MENU LABEL DSL (boot to command line)
KERNEL /boot/isolinux/linux24
APPEND ramdisk_size=100000 init=/etc/init lang=us apm=power-off vga=791 initrd=/boot/isolinux/minirt24.gz nomce noapic quiet 2 BOOT_IMAGE=knoppix

#LABEL dsl-expert
#MENU LABEL DSL (expert mode)
#KERNEL /boot/isolinux/linux24
#APPEND ramdisk_size=100000 init=/etc/init lang=us apm=power-off vga=791 initrd=/boot/isolinux/minirt24.gz nomce BOOT_IMAGE=expert

#LABEL dsl-fb1280x1024
#MENU LABEL DSL (1280x1024 framebuffer)
#KERNEL /boot/isolinux/linux24
#APPEND ramdisk_size=100000 init=/etc/init lang=us apm=power-off vga=794 xmodule=fbdev initrd=/boot/isolinux/minirt24.gz nomce noapic quiet BOOT_IMAGE=knoppix

#LABEL dsl-fb1024x768
#MENU LABEL DSL (1024x768 framebuffer)
#KERNEL /boot/isolinux/linux24
#APPEND ramdisk_size=100000 init=/etc/init lang=us apm=power-off vga=791 xmodule=fbdev initrd=/boot/isolinux/minirt24.gz nomce noapic quiet BOOT_IMAGE=knoppix

#LABEL dsl-fb800x600
#MENU LABEL DSL (800x600 framebuffer)
#KERNEL /boot/isolinux/linux24
#APPEND ramdisk_size=100000 init=/etc/init lang=us apm=power-off vga=788 xmodule=fbdev initrd=/boot/isolinux/minirt24.gz nomce noapic quiet BOOT_IMAGE=knoppix

#LABEL dsl-lowram
#MENU LABEL DSL (for low RAM)
#KERNEL /boot/isolinux/linux24
#APPEND ramdisk_size=100000 init=/etc/init lang=us apm=power-off vga=normal initrd=/boot/isolinux/minirt24.gz noscsi noideraid nosound nousb nofirewire noicons minimal nomce noapic noapm lowram quiet BOOT_IMAGE=knoppix

#LABEL dsl-install
#MENU LABEL Install DSL
#KERNEL /boot/isolinux/linux24
#APPEND ramdisk_size=100000 init=/etc/init lang=us apm=power-off vga=normal initrd=/boot/isolinux/minirt24.gz noscsi noideraid nosound nofirewire legacy base norestore _install_ nomce noapic noapm quiet BOOT_IMAGE=knoppix

#LABEL dsl-failsafe
#MENU LABEL DSL (failsafe)
#KERNEL /boot/isolinux/linux24
#APPEND ramdisk_size=100000 init=/etc/init 2 lang=us vga=normal atapicd nosound noscsi nousb nopcmcia nofirewire noagp nomce nodhcp xmodule=vesa initrd=/boot/isolinux/minirt24.gz BOOT_IMAGE=knoppix base norestore legacy

label back
menu label ^Back to main menu
com32 menu.c32
append isolinux.cfg
EOF
fi
if [ -f dvl.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << "EOF"
label dvl
menu label Damn ^Vulnerable Linux
kernel /boot/dvl/vmlinuz
initrd /boot/dvl/initrd.gz
append vga=0x317 max_loop=255 init=linuxrc load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=4444 root=/dev/ram0 rw

label dvlsafe
menu label Damn Vulnerable Linux (dvlsafe)
kernel /boot/dvl/vmlinuz
initrd /boot/dvl/initrd.gz
append vga=769 max_loop=255 init=linuxrc load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=4444 root=/dev/ram0 rw
EOF
fi
if [ -f efw.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << "EOF"
label endianfirewall
	menu label ^Endian Firewall - Default
	kernel /boot/endian/vmlinuz 
	append initrd=/boot/endian/instroot.gz root=/dev/ram0 rw
label endianfirewall_unattended 
	menu label ^Endian Firewall - Unattended
	kernel /boot/endian/vmlinuz
	append initrd=/boot/endian/instroot.gz root=/dev/ram0 rw unattended
label endianfirewall_nopcmcia 
	menu label ^Endian Firewall - No PCMCIA
	kernel /boot/endian/vmlinuz
	append ide=nodma initrd=/boot/endian/instroot.gz root=/dev/ram0 rw nopcmcia
label endianfirewall_nousb
	menu label ^Endian Firewall - No USB
	kernel /boot/endian/vmlinuz
	append ide=nodma initrd=/boot/endian/instroot.gz root=/dev/ram0 rw nousb
label endianfirewall_nousborpcmcia
	menu label ^Endian Firewall - No USB nor PCMCIA
	kernel /boot/endian/vmlinuz
	append ide=nodma initrd=/boot/endian/instroot.gz root=/dev/ram0 rw nousb nopcmcia
EOF
fi
if [ -f elastix.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << "EOF"
label elastixmenu
menu label --> ^Elastix
config /boot/isolinux/elastix.cfg
EOF
cat > multicd-working/boot/isolinux/elastix.cfg << "EOF"
default linux
prompt 1
timeout 600
display /boot/elastix/boot.msg
F1 /boot/elastix/boot.msg
F2 /boot/elastix/options.msg
F3 /boot/elastix/general.msg
F4 /boot/elastix/param.msg
F5 /boot/elastix/rescue.msg
F7 /boot/elastix/snake.msg
label advanced
  kernel /boot/elastix/vmlinuz
  append ks=cdrom:/ks_advanced.cfg initrd=/boot/elastix/initrd.img ramdisk_size=8192
label elastix
  kernel /boot/elastix/vmlinuz
  append initrd=/boot/elastix/initrd.img ramdisk_size=8192
label linux
  kernel /boot/elastix/vmlinuz
  append ks=cdrom:/ks.cfg initrd=/boot/elastix/initrd.img ramdisk_size=8192
label rhinoraid
  kernel /boot/elastix/vmlinuz
  append ks=cdrom:/ks_rhinoraid.cfg initrd=/boot/elastix/initrd.img ramdisk_size=8192
label local
  localboot 1
EOF
fi
if [ -f feather.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << "EOF"
LABEL feather
MENU LABEL ^Feather Linux
KERNEL /boot/feather/linux24
APPEND ramdisk_size=100000 init=/etc/init lang=us apm=power-off vga=791 initrd=/boot/feather/minirt24.gz knoppix_dir=FEATHER nomce quiet BOOT_IMAGE=knoppix
LABEL feather-toram
MENU LABEL Feather Linux (load to RAM)
KERNEL /boot/feather/linux24
APPEND ramdisk_size=100000 init=/etc/init lang=us apm=power-off vga=791 initrd=/boot/feather/minirt24.gz knoppix_dir=FEATHER nomce quiet toram BOOT_IMAGE=knoppix
LABEL feather-2
MENU LABEL Feather Linux (boot to command line)
KERNEL /boot/feather/linux24
APPEND ramdisk_size=100000 init=/etc/init lang=us apm=power-off vga=791 initrd=/boot/feather/minirt24.gz knoppix_dir=FEATHER nomce quiet 2 BOOT_IMAGE=knoppix
EOF
fi
if [ -f fedora-boot.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << "EOF"
label flinux
  #TIP: If you change the method= entry in the append line, you can change the mirror and version installed.
  menu label ^Install Fedora from mirrors.kernel.org (Fedora 13 only)
  kernel /boot/fedora/vmlinuz
  append initrd=/boot/fedora/initrd.img method=http://mirrors.kernel.org/fedora/releases/13/Fedora/i386/os
label flinux
  menu label ^Install or upgrade Fedora from another mirror
  kernel /boot/fedora/vmlinuz
  append initrd=/boot/fedora/initrd.img
label ftext
  menu label Install or upgrade Fedora (text mode)
  kernel /boot/fedora/vmlinuz
  append initrd=/boot/fedora/initrd.img text
label frescue
  menu label Rescue installed Fedora system
  kernel /boot/fedora/vmlinuz
  append initrd=/boot/fedora/initrd.img rescue
EOF
fi
if [ -f finnix.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << "EOF"
label Finnix
  MENU LABEL ^Finnix (x86)
  kernel /boot/finnix/linux
  append finnixfile=/FINNIX/FINNIX initrd=/boot/finnix/minirt apm=power-off vga=791 quiet

label Finnix64
  MENU LABEL Finnix (AMD64)
  kernel /boot/finnix/linux64
  append finnixfile=/FINNIX/FINNIX initrd=/boot/finnix/minirt apm=power-off vga=791 quiet

label FinnixText
  MENU LABEL ^Finnix (x86, textmode)
  kernel /boot/finnix/linux
  append finnixfile=/FINNIX/FINNIX initrd=/boot/finnix/minirt apm=power-off vga=normal quiet

label FinnixDebug
  MENU LABEL ^Finnix (x86, debug mode)
  kernel /boot/finnix/linux
  append finnixfile=/FINNIX/FINNIX initrd=/boot/finnix/minirt apm=power-off vga=normal debug

label Finnix64Text
  MENU LABEL Finnix (AMD64, textmode)
  kernel /boot/finnix/linux64
  append finnixfile=/FINNIX/FINNIX initrd=/boot/finnix/minirt apm=power-off vga=normal quiet

label Finnix64Debug
  MENU LABEL Finnix (AMD64, debug mode)
  kernel /boot/finnix/linux64
  append finnixfile=/FINNIX/FINNIX initrd=/boot/finnix/minirt apm=power-off vga=normal debug

label FinnixFailsafe
  MENU LABEL ^Finnix (failsafe)
  kernel /boot/finnix/linux
  append finnixfile=/FINNIX/FINNIX initrd=/boot/finnix/minirt vga=normal noapic noacpi pnpbios=off acpi=off nofstab nodma noapm nodhcp nolvm nomouse noeject

label sbm
  MENU LABEL Smart Boot Manager
  kernel /boot/finnix/memdisk
  append initrd=/boot/finnix/sbm.imz
EOF
fi
if [ -f fdfullcd.iso ] || [ -f fdbasecd.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << "EOF"
label fdos
menu label ^FreeDOS 1.0
kernel memdisk
append initrd=/boot/freedos/fdboot.img
EOF
fi
if [ -f geexbox.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << "EOF"
cat >> multicd-working/boot/isolinux/isolinux.cfg << "EOF"
label gbox
	menu label ^GeeXboX
	com32 vesamenu.c32
	append gbox.menu
EOF
cat > multicd-working/boot/isolinux/gbox.menu << "EOF"
PROMPT 0

TIMEOUT 20

MENU BACKGROUND /GEEXBOX/boot/splash.png
MENU TITLE Welcome to GeeXboX i386 (C) 2002-2009
MENU VSHIFT 11
MENU ROWS 6
MENU TABMSGROW 15
MENU CMDLINEROW 14
MENU HELPMSGROW 16
MENU TABMSG Press [Tab] to edit options, [F1] for boot options.
MENU COLOR sel 7;37;40 #e0000000 #fa833b all
MENU COLOR border 30;44 #00000000 #00000000 none

LABEL geexbox
  MENU LABEL Start GeeXboX ...
  KERNEL /GEEXBOX/boot/vmlinuz
  APPEND initrd=/GEEXBOX/boot/initrd.gz root=/dev/ram0 rw rdinit=linuxrc boot=cdrom lang=en remote=atiusb receiver=atiusb keymap=qwerty splash=silent vga=789 video=vesafb:ywrap,mtrr quiet

LABEL hdtv
  MENU DEFAULT
  MENU LABEL Start GeeXboX for HDTV ...
  KERNEL /GEEXBOX/boot/vmlinuz
  APPEND initrd=/GEEXBOX/boot/initrd.gz root=/dev/ram0 rw rdinit=linuxrc boot=cdrom lang=en remote=atiusb receiver=atiusb keymap=qwerty splash=silent vga=789 video=vesafb:ywrap,mtrr hdtv quiet

LABEL install
  MENU LABEL Install GeeXboX to disk ...
  KERNEL /GEEXBOX/boot/vmlinuz
  APPEND initrd=/GEEXBOX/boot/initrd.gz root=/dev/ram0 rw rdinit=linuxrc boot=cdrom lang=en remote=atiusb receiver=atiusb keymap=qwerty splash=silent vga=789 video=vesafb:ywrap,mtrr installator quiet

#CFG#LABEL configure
#CFG#  MENU LABEL Reconfigure a GeeXboX installation ...
#CFG#  KERNEL /GEEXBOX/boot/vmlinuz
#CFG#  APPEND initrd=/GEEXBOX/boot/initrd.gz root=/dev/ram0 rw rdinit=linuxrc boot=cdrom lang=en remote=atiusb receiver=atiusb keymap=qwerty splash=silent vga=789 video=vesafb:ywrap,mtrr configure

MENU SEPARATOR

LABEL debug
  MENU LABEL Start in debugging mode ...
  KERNEL /GEEXBOX/boot/vmlinuz
  APPEND initrd=/GEEXBOX/boot/initrd.gz root=/dev/ram0 rw rdinit=linuxrc boot=cdrom lang=en remote=atiusb receiver=atiusb keymap=qwerty splash=0 vga=789 video=vesafb:ywrap,mtrr debugging

LABEL hdtvdebug
  MENU LABEL Start HDTV edition in debugging mode ...
  KERNEL /GEEXBOX/boot/vmlinuz
  APPEND initrd=/GEEXBOX/boot/initrd.gz root=/dev/ram0 rw rdinit=linuxrc boot=cdrom lang=en remote=atiusb receiver=atiusb keymap=qwerty splash=0 vga=789 video=vesafb:ywrap,mtrr hdtv debugging

F1 help.msg #00000000
EOF
fi
if [ -f gparted.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << "EOF"
label GParted Live
  # MENU DEFAULT
  # MENU HIDE
  MENU LABEL ^GParted Live (Default settings)
  # MENU PASSWD
  kernel /boot/gparted/vmlinuz
  append initrd=/boot/gparted/initrd.img boot=live union=aufs live-media-path=/boot/gparted noswap vga=788 ip=frommedia

label GParted Live (To RAM)
  # MENU DEFAULT
  # MENU HIDE
  MENU LABEL GParted Live (To RAM. Boot media can be removed later)
  # MENU PASSWD
  kernel /boot/gparted/vmlinuz
  append initrd=/boot/gparted/initrd.img boot=live union=aufs live-media-path=/boot/gparted noswap vga=788 toram ip=frommedia

label GParted Live without framebuffer
  # MENU DEFAULT
  # MENU HIDE
  MENU LABEL GParted Live (Safe graphic settings, vga=normal)
  # MENU PASSWD
  kernel /boot/gparted/vmlinuz
  append initrd=/boot/gparted/initrd.img boot=live union=aufs live-media-path=/boot/gparted noswap ip=frommedia vga=normal

label GParted Live failsafe mode
  # MENU DEFAULT
  # MENU HIDE
  MENU LABEL GParted Live (Failsafe mode)
  # MENU PASSWD
  kernel /boot/gparted/vmlinuz
  append initrd=/boot/gparted/initrd.img boot=live union=aufs live-media-path=/boot/gparted noswap acpi=off irqpoll noapic noapm nodma nomce nolapic nosmp ip=frommedia vga=normal
EOF
fi
if [ -f insert.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << "EOF"
LABEL insert
menu label ^INSERT
KERNEL /boot/insert/vmlinuz
APPEND ramdisk_size=100000 init=/etc/init lang=en apm=power-off vga=773 initrd=/boot/insert/miniroot.lz nomce noapic dma BOOT_IMAGE=insert
LABEL insert-txt
menu label INSERT (vga=normal)
KERNEL /boot/insert/vmlinuz
APPEND ramdisk_size=100000 init=/etc/init lang=en apm=power-off vga=normal initrd=/boot/insert/miniroot.lz nomce noapic dma BOOT_IMAGE=insert
LABEL expert
menu label INSERT (expert mode)
KERNEL /boot/insert/vmlinuz
APPEND ramdisk_size=100000 init=/etc/init lang=en apm=power-off vga=773 initrd=/boot/insert/miniroot.lz nomce noapic dma BOOT_IMAGE=expert
LABEL failsafe
menu label INSERT (failsafe)
KERNEL /boot/insert/vmlinuz
APPEND ramdisk_size=100000 init=/etc/init lang=en vga=normal atapicd nosound noapic noacpi pnpbios=off acpi=off nofstab noscsi nodma noapm nousb nopcmcia nofirewire noagp nomce nodhcp xmodule=vesa initrd=/boot/insert/miniroot.lz BOOT_IMAGE=insert
EOF
fi
if [ -f ipcop.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << "EOF"
label ipcopmenu
menu label --> ^IPCop
config /boot/isolinux/ipcop.cfg
EOF
cat > multicd-working/boot/isolinux/ipcop.cfg << "EOF"
TIMEOUT 5000
F1 /boot/ipcop/f1.txt
F2 /boot/ipcop/f2.txt
F3 /boot/ipcop/f3.txt
DISPLAY /boot/ipcop/f1.txt
PROMPT 1
DEFAULT /boot/ipcop/vmlinuz
APPEND ide=nodma initrd=/boot/ipcop/instroot.gz root=/dev/ram0 rw
LABEL nopcmcia 
  KERNEL /boot/ipcop/vmlinuz
  APPEND ide=nodma initrd=/boot/ipcop/instroot.gz root=/dev/ram0 rw nopcmcia
LABEL noscsi
  KERNEL /boot/ipcop/vmlinuz
  APPEND ide=nodma initrd=/boot/ipcop/instroot.gz root=/dev/ram0 rw scsi=none
LABEL nousb
  KERNEL /boot/ipcop/vmlinuz
  APPEND ide=nodma initrd=/boot/ipcop/instroot.gz root=/dev/ram0 rw nousb
LABEL nousborpcmcia
  KERNEL v/boot/ipcop/mlinuz
  APPEND ide=nodma initrd=/boot/ipcop/instroot.gz root=/dev/ram0 rw nousb nopcmcia
LABEL dma
  KERNEL /boot/ipcop/vmlinuz
  APPEND initrd=/boot/ipcop/instroot.gz root=/dev/ram0 rw
LABEL memtest
  KERNEL /boot/memtest
  APPEND -
EOF
fi
if [ -f knoppix.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << "EOF"
LABEL knoppix
MENU LABEL Knoppix
KERNEL /boot/knoppix/linux
APPEND ramdisk_size=100000 init=/etc/init lang=us apm=power-off vga=791 initrd=/boot/knoppix/minirt.gz knoppix_dir=KNOPPIX5 nomce highres=off loglevel=0 libata.atapi_enabled=1 quiet SELINUX_INIT=NO nmi_watchdog=0 BOOT_IMAGE=knoppix

LABEL adriane
MENU LABEL Adriane (Knoppix)
KERNEL /boot/knoppix/linux
APPEND ramdisk_size=100000 init=/etc/init lang=us apm=power-off vga=785 initrd=/boot/knoppix/minirt.gz knoppix_dir=KNOPPIX5 nomce highres=off loglevel=0 libata.atapi_enabled=1 quiet SELINUX_INIT=NO nmi_watchdog=0 BOOT_IMAGE=adriane

LABEL knoppix-2
MENU LABEL Knoppix (boot to command line)
KERNEL /boot/knoppix/linux
APPEND ramdisk_size=100000 init=/etc/init lang=us apm=power-off vga=791 initrd=/boot/knoppix/minirt.gz knoppix_dir=KNOPPIX5 nomce highres=off loglevel=0 libata.atapi_enabled=1 quiet SELINUX_INIT=NO nmi_watchdog=0 BOOT_IMAGE=knoppix 2
EOF
fi
if [ -f kubuntu.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << EOF
label kubuntu2
menu label --> Kubuntu #1 Menu
com32 menu.c32
append /boot/kubuntu/kubuntu.cfg

EOF
cat >> multicd-working/boot/kubuntu/kubuntu.cfg << EOF

label back
menu label Back to main menu
com32 menu.c32
append /boot/isolinux/isolinux.cfg
EOF
fi
if [ -f kubuntu_32_bit.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << EOF
label kubuntu_32_bit2
menu label --> kubuntu_32_bit #1 Menu
com32 menu.c32
append /boot/kubuntu_32_bit/kubuntu_32_bit.cfg

EOF
cat >> multicd-working/boot/kubuntu_32_bit/kubuntu_32_bit.cfg << EOF

label back
menu label Back to main menu
com32 menu.c32
append /boot/isolinux/isolinux.cfg
EOF
fi
if [ -f kubuntu_64_bit.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << EOF
label kubuntu_64_bit2
menu label --> kubuntu_64_bit #1 Menu
com32 menu.c32
append /boot/kubuntu_64_bit/kubuntu_64_bit.cfg

EOF
cat >> multicd-working/boot/kubuntu_64_bit/kubuntu_64_bit.cfg << EOF

label back
menu label Back to main menu
com32 menu.c32
append /boot/isolinux/isolinux.cfg
EOF
fi
if [ -f linuxmint.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << EOF
label linuxmint
menu label --> Linux ^Mint Menu
com32 vesamenu.c32
append /boot/linuxmint/linuxmint.cfg

EOF
cat >> multicd-working/boot/linuxmint/linuxmint.cfg << EOF

label back
menu label Back to main menu
com32 menu.c32
append /boot/isolinux/isolinux.cfg
EOF
fi
#BEGIN PUPPY ENTRY#
if [ -f macpup.iso ];then
if [ -d multicd-working/macpup ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << "EOF"
label macpup
menu label ^Macpup
kernel /macpup/vmlinuz
append initrd=/macpup/initrd.gz pmedia=cd pdir=macpup
#label macpup-nox
#menu label Macpup (boot to command line)
#kernel /macpup/vmlinuz
#append initrd=/macpup/initrd.gz pmedia=cd pfix=nox pdir=macpup
#label macpup-noram
#menu label Macpup (don't load to RAM)
#kernel /macpup/vmlinuz
#append initrd=/macpup/initrd.gz pmedia=cd pfix=noram pdir=macpup
EOF
else
cat >> multicd-working/boot/isolinux/isolinux.cfg << "EOF"
label macpup
menu label ^Macpup
kernel /vmlinuz
append initrd=/initrd.gz pmedia=cd
#label macpup-nox
#menu label Macpup (boot to command line)
#kernel /vmlinuz
#append initrd=/initrd.gz pmedia=cd pfix=nox
#label macpup-noram
#menu label Macpup (don't load to RAM)
#kernel /vmlinuz
#append initrd=/initrd.gz pmedia=cd pfix=noram
EOF
fi
fi
#END PUPPY ENTRY#
if [ -f mandriva-boot.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << "EOF"
label alt0
  menu label Install ^Mandriva
  kernel /boot/mandriva/alt0/vmlinuz
  append initrd=/boot/mandriva/alt0/all.rdz  vga=788 splash=silent
label alt0-vgahi
  menu label Install Mandriva (hi-res installer)
  kernel /boot/mandriva/alt0/vmlinuz
  append initrd=/boot/mandriva/alt0/all.rdz  vga=791
label alt0-text
  menu label Install Mandriva (text-mode installer)
  kernel /boot/mandriva/alt0/vmlinuz
  append initrd=/boot/mandriva/alt0/all.rdz  text
label alt1
  menu label Install Mandriva (server kernel)
  kernel /boot/mandriva/alt1/vmlinuz
  append initrd=/boot/mandriva/alt1/all.rdz vga=788 splash=silent
EOF
fi
#BEGIN NETBOOTCD ENTRY#
if [ -f netbootcd.iso ];then
if [ -f multicd-working/boot/nbcd/nbinit4.lz ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << "EOF"
LABEL netbootcd
MENU LABEL ^NetbootCD
KERNEL /boot/nbcd/kexec.bzI
initrd /boot/nbcd/nbinit4.lz
APPEND quiet
EOF
else
cat >> multicd-working/boot/isolinux/isolinux.cfg << "EOF"
LABEL netbootcd
MENU LABEL ^NetbootCD
KERNEL /boot/nbcd/kexec.bzI
initrd /boot/nbcd/nbinit3.gz
APPEND quiet
EOF
fi
fi
#END NETBOOTCD ENTRY#
if [ -f ntpasswd.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << "EOF"
label ntpasswd
menu label ^NT Offline Password & Registry Editor
kernel /boot/ntpasswd/vmlinuz
append rw vga=1 init=/linuxrc initrd=/boot/ntpasswd/initrd.cgz,/boot/ntpasswd/scsi.cgz
EOF
fi
if [ -f opensuse.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << "EOF"
label opensuse-kernel
  menu label Install ^openSUSE (from mirrors.kernel.org)
  kernel /boot/opensuse/linux
EOF
echo "  append initrd=/boot/opensuse/initrd splash=silent showopts install=ftp://mirrors.kernel.org/opensuse/distribution/"$(cat /tmp/$USER-opensuseversion.tmp)"/repo/oss" >> multicd-working/boot/isolinux/isolinux.cfg
cat >> multicd-working/boot/isolinux/isolinux.cfg << "EOF"
label opensuse
  menu label Install openSUSE (specify mirror)
  kernel /boot/opensuse/linux
  append initrd=/boot/opensuse/initrd splash=silent showopts
label opensuse-repair
  menu label Repair an installed openSUSE system
  kernel /boot/opensuse/linux
  append initrd=/boot/opensuse/initrd splash=silent repair=1 showopts
label opensuse-rescue
  menu label openSUSE rescue system
  kernel /boot/opensuse/linux
  append initrd=/boot/opensuse/initrd splash=silent rescue=1 showopts
EOF
fi
if [ -f pclos.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << "EOF"
label LiveCD
    menu label ^PCLinuxOS Live
    kernel /PCLinuxOS/isolinux/vmlinuz
    append livecd=/PCLinuxOS/livecd initrd=/PCLinuxOS/isolinux/initrd.gz root=/dev/rd/3 acpi=on vga=788 keyb=us splash=silent fstab=rw,auto noscsi
label LiveCD_sata_probe
    menu label ^PCLinuxOS Live - SATA probe
    kernel /PCLinuxOS/isolinux/vmlinuz
    append livecd=/PCLinuxOS/livecd initrd=/PCLinuxOS/isolinux/initrd.gz root=/dev/rd/3 acpi=on vga=788 keyb=us splash=silent fstab=rw,auto
label Video_SafeMode_FBDevice
    menu label ^PCLinuxOS Live - SafeMode FBDevice
    kernel /PCLinuxOS/isolinux/vmlinuz
    append livecd=/PCLinuxOS/livecd initrd=/PCLinuxOS/isolinux/initrd.gz root=/dev/rd/3 acpi=on vga=788 keyb=us splash=silent fstab=rw,auto framebuffer
label Video_SafeMode_Vesa
    menu label ^PCLinuxOS Live - SafeMode VESA
    kernel /PCLinuxOS/isolinux/vmlinuz
    append livecd=/PCLinuxOS/livecd initrd=/PCLinuxOS/isolinux/initrd.gz root=/dev/rd/3 acpi=on vga=788 keyb=us splash=silent fstab=rw,auto vesa
label Safeboot
    menu label ^PCLinuxOS Live - Safeboot
    kernel /PCLinuxOS/isolinux/vmlinuz
    append livecd=/PCLinuxOS/livecd initrd=/PCLinuxOS/isolinux/initrd.gz root=/dev/rd/3 acpi=off vga=normal keyb=us noscsi nopcmcia
label Console
    menu label ^PCLinuxOS Live - Console
    kernel /PCLinuxOS/isolinux/vmlinuz
    append livecd=/PCLinuxOS/livecd 3 initrd=/PCLinuxOS/isolinux/initrd.gz root=/dev/rd/3 acpi=on vga=788 keyb=us splash=silent fstab=rw,auto
label Copy_to_ram
    menu label ^PCLinuxOS Live - Copy to RAM
    kernel /PCLinuxOS/isolinux/vmlinuz
    append livecd=/PCLinuxOS/livecd copy2ram initrd=/PCLinuxOS/isolinux/initrd.gz root=/dev/rd/3 acpi=on vga=788 keyb=us splash=silent fstab=rw,auto splash=verbose
EOF
fi
if [ -f pclx.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << "EOF"
label LiveCD
    menu label ^PCLinuxOS LXDE Live
    kernel /pclosLXDE/isolinux/vmlinuz
    append livecd=/pclosLXDE/livecd initrd=/pclosLXDE/isolinux/initrd.gz root=/dev/rd/3 acpi=on vga=788 keyb=us splash=silent fstab=rw,auto noscsi
label LiveCD_sata_probe
    menu label ^PCLinuxOS LXDE Live - SATA probe
    kernel /pclosLXDE/isolinux/vmlinuz
    append livecd=/pclosLXDE/livecd initrd=/pclosLXDE/isolinux/initrd.gz root=/dev/rd/3 acpi=on vga=788 keyb=us splash=silent fstab=rw,auto
label Video_SafeMode_FBDevice
    menu label ^PCLinuxOS LXDE Live - SafeMode FBDevice
    kernel /pclosLXDE/isolinux/vmlinuz
    append livecd=/pclosLXDE/livecd initrd=/pclosLXDE/isolinux/initrd.gz root=/dev/rd/3 acpi=on vga=788 keyb=us splash=silent fstab=rw,auto framebuffer
label Video_SafeMode_Vesa
    menu label ^PCLinuxOS LXDE Live - SafeMode VESA
    kernel /pclosLXDE/isolinux/vmlinuz
    append livecd=/pclosLXDE/livecd initrd=/pclosLXDE/isolinux/initrd.gz root=/dev/rd/3 acpi=on vga=788 keyb=us splash=silent fstab=rw,auto vesa
label Safeboot
    menu label ^PCLinuxOS LXDE Live - Safeboot
    kernel /pclosLXDE/isolinux/vmlinuz
    append livecd=/pclosLXDE/livecd initrd=/pclosLXDE/isolinux/initrd.gz root=/dev/rd/3 acpi=off vga=normal keyb=us noscsi nopcmcia
label Console
    menu label ^PCLinuxOS LXDE Live - Console
    kernel /pclosLXDE/isolinux/vmlinuz
    append livecd=/pclosLXDE/livecd 3 initrd=/pclosLXDE/isolinux/initrd.gz root=/dev/rd/3 acpi=on vga=788 keyb=us splash=silent fstab=rw,auto
label Copy_to_ram
    menu label ^PCLinuxOS LXDE Live - Copy to RAM
    kernel /pclosLXDE/isolinux/vmlinuz
    append livecd=/pclosLXDE/livecd copy2ram initrd=/pclosLXDE/isolinux/initrd.gz root=/dev/rd/3 acpi=on vga=788 keyb=us splash=silent fstab=rw,auto splash=verbose
EOF
fi
if [ -f ping.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << "EOF"
label ping
menu label ^PING (Partimage Is Not Ghost)
kernel /boot/ping/kernel
append vga=normal devfs=nomount pxe ramdisk_size=33000 load_ramdisk=1 init=/linuxrc prompt_ramdisk=0 initrd=/boot/ping/initrd.gz root=/dev/ram0 rw noapic nolapic lba combined_mode=libata ide0=noprobe nomce pci=nommconf pci=nomsi irqpoll
EOF
fi
if [ -f pmagic.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << "EOF"
LABEL normal
MENU LABEL ^Parted Magic: Default settings (Runs from RAM / Ejects CD)
KERNEL /pmagic/bzImage
APPEND noapic initrd=/pmagic/initramfs load_ramdisk=1 prompt_ramdisk=0 rw vga=791 sleep=10 loglevel=0 keymap=us

LABEL live
MENU LABEL ^Parted Magic: Live with default settings (USB not usable)
KERNEL /pmagic/bzImage
APPEND noapic initrd=/pmagic/initramfs load_ramdisk=1 prompt_ramdisk=0 rw vga=791 sleep=10 livemedia noeject loglevel=0 keymap=us

LABEL lowram
MENU LABEL ^Parted Magic: Live with low RAM settings
KERNEL /pmagic/bzImage
APPEND noapic initrd=/pmagic/initramfs load_ramdisk=1 prompt_ramdisk=0 rw vga=normal sleep=10 lowram livemedia noeject nogpm nolvm nonfs nofstabdaemon nosmart noacpid nodmeventd nohal loglevel=0 xvesa keymap=us

LABEL xvesa
MENU LABEL ^Parted Magic: Alternate graphical server
KERNEL /pmagic/bzImage
APPEND noapic initrd=/pmagic/initramfs load_ramdisk=1 prompt_ramdisk=0 rw vga=791 sleep=10 xvesa loglevel=0 keymap=us

LABEL normal-vga
MENU LABEL ^Parted Magic: Safe Graphics Settings (vga=normal)
KERNEL /pmagic/bzImage
APPEND noapic initrd=/pmagic/initramfs load_ramdisk=1 prompt_ramdisk=0 rw vga=normal sleep=10 loglevel=0 keymap=us

LABEL failsafe
MENU LABEL ^Parted Magic: Failsafe Settings
KERNEL /pmagic/bzImage
APPEND noapic initrd=/pmagic/initramfs load_ramdisk=1 prompt_ramdisk=0 rw vga=normal sleep=10 acpi=off noapic nolapic nopcmcia noscsi nogpm consoleboot nosmart keymap=us

LABEL console
MENU LABEL ^Parted Magic: Console (boots to the shell)
KERNEL /pmagic/bzImage
APPEND noapic initrd=/pmagic/initramfs load_ramdisk=1 prompt_ramdisk=0 rw vga=normal sleep=10 consoleboot keymap=us
EOF
fi
#BEGIN PUPPY ENTRY#
if [ -f puppy.iso ];then
if [ -d multicd-working/puppy ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << "EOF"
label puppy
menu label ^Puppy Linux
kernel /puppy/vmlinuz
append initrd=/puppy/initrd.gz pmedia=cd pdir=puppy
#label puppy-nox
#menu label Puppy Linux (boot to command line)
#kernel /puppy/vmlinuz
#append initrd=/puppy/initrd.gz pmedia=cd pfix=nox pdir=puppy
#label puppy-noram
#menu label Puppy Linux (don't load to RAM)
#kernel /puppy/vmlinuz
#append initrd=/puppy/initrd.gz pmedia=cd pfix=noram pdir=puppy
EOF
else
cat >> multicd-working/boot/isolinux/isolinux.cfg << "EOF"
label puppy
menu label ^Puppy Linux
kernel /vmlinuz
append initrd=/initrd.gz pmedia=cd
#label puppy-nox
#menu label Puppy Linux (boot to command line)
#kernel /vmlinuz
#append initrd=/initrd.gz pmedia=cd pfix=nox
#label puppy-noram
#menu label Puppy Linux (don't load to RAM)
#kernel /vmlinuz
#append initrd=/initrd.gz pmedia=cd pfix=noram
EOF
fi
fi
#END PUPPY ENTRY#
if [ -f riplinux.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << "EOF"
label riplinux
menu label ^RIPLinuX
com32 menu.c32
append riplinux.cfg
EOF
cat >> multicd-working/boot/isolinux/riplinux.cfg << "EOF"
DEFAULT menu.c32
PROMPT 0
MENU TITLE RIPLinuX v6.7

LABEL Boot Linux system! (32-bit kernel)
KERNEL /boot/riplinux/kernel32
APPEND vga=normal initrd=/boot/riplinux/rootfs.cgz root=/dev/ram0 rw

LABEL Boot Linux system! (skip keymap prompt)
KERNEL /boot/riplinux/kernel32
APPEND vga=normal nokeymap initrd=/boot/riplinux/rootfs.cgz root=/dev/ram0 rw

LABEL Boot Linux system to X! (32-bit kernel)
KERNEL /boot/riplinux/kernel32
APPEND vga=normal xlogin initrd=/boot/riplinux/rootfs.cgz root=/dev/ram0 rw

LABEL Boot Linux system to X! (skip keymap prompt)
KERNEL /boot/riplinux/kernel32
APPEND vga=normal xlogin nokeymap initrd=/boot/riplinux/rootfs.cgz root=/dev/ram0 rw

LABEL Boot Linux system! (64-bit kernel)
KERNEL /boot/riplinux/kernel64
APPEND vga=normal initrd=/boot/riplinux/rootfs.cgz root=/dev/ram0 rw

LABEL Boot Linux system! (skip keymap prompt)
KERNEL /boot/riplinux/kernel64
APPEND vga=normal nokeymap initrd=/boot/riplinux/rootfs.cgz root=/dev/ram0 rw

LABEL Boot Linux system to X! (64-bit kernel)
KERNEL /boot/riplinux/kernel64
APPEND vga=normal xlogin initrd=/boot/riplinux/rootfs.cgz root=/dev/ram0 rw

LABEL Boot Linux system to X! (skip keymap prompt)
KERNEL /boot/riplinux/kernel64
APPEND vga=normal xlogin nokeymap initrd=/boot/riplinux/rootfs.cgz root=/dev/ram0 rw

LABEL Edit and put Linux partition to boot! (32-bit kernel)
KERNEL /boot/riplinux/kernel
APPEND vga=normal ro root=/dev/XXXX

LABEL Edit and put Linux partition to boot! (64-bit kernel)
KERNEL /boot/riplinux/kernel64
APPEND vga=normal ro root=/dev/XXXX

LABEL Boot memory tester!
KERNEL /boot/memtest
APPEND -

LABEL Boot GRUB bootloader!
KERNEL /boot/riplinux/grub4dos/grub.exe
APPEND --config-file=(cd)/boot/riplinux/grub4dos/menu-cd.lst

LABEL Boot MBR on first hard drive!
KERNEL chain.c32
APPEND hd0 0

LABEL Boot partition #1 on first hard drive!
KERNEL chain.c32
APPEND hd0 1

LABEL Boot partition #2 on first hard drive!
KERNEL chain.c32
APPEND hd0 2

LABEL Boot partition #3 on first hard drive!
KERNEL chain.c32
APPEND hd0 3

LABEL Boot partition #4 on first hard drive!
KERNEL chain.c32
APPEND hd0 4

LABEL Boot MBR on second hard drive!
KERNEL chain.c32
APPEND hd1 0

LABEL Boot partition #1 on second hard drive!
KERNEL chain.c32
APPEND hd1 1

LABEL Boot partition #2 on second hard drive!
KERNEL chain.c32
APPEND hd1 2

LABEL Boot partition #3 on second hard drive!
KERNEL chain.c32
APPEND hd1 3

LABEL Boot partition #4 on second hard drive!
KERNEL chain.c32
APPEND hd1 4

label back
menu label Back to main menu
com32 menu.c32
append isolinux.cfg
EOF
fi
#BEGIN SLAX ENTRY#
if [ -f slax.iso ];then
if [ -f multicd-working/slax/base/002-xorg.sq4.lzm ];then
echo "LABEL xconf
MENU LABEL ^Slax Graphics mode (KDE)
KERNEL /boot/slax/vmlinuz
APPEND initrd=/boot/slax/initrd.lz ramdisk_size=6666 root=/dev/ram0 rw vga=791 splash=silent quiet autoexec=xconf;telinit~4  changes=/slax/

LABEL lxde
MENU LABEL Graphics mode (LXDE) (if available)
KERNEL /boot/slax/vmlinuz
APPEND initrd=/boot/slax/initrd.lz ramdisk_size=6666 root=/dev/ram0 rw vga=791 splash=silent quiet autoexec=lxde;xconf;telinit~4 changes=/slax/

LABEL copy2ram
MENU LABEL Slax Graphics mode, Copy To RAM
KERNEL /boot/slax/vmlinuz
APPEND initrd=/boot/slax/initrd.lz ramdisk_size=6666 root=/dev/ram0 rw vga=791 splash=silent quiet copy2ram autoexec=xconf;telinit~4

LABEL startx
MENU LABEL Slax Graphics VESA mode
KERNEL /boot/slax/vmlinuz
APPEND initrd=/boot/slax/initrd.lz ramdisk_size=6666 root=/dev/ram0 rw autoexec=telinit~4  changes=/slax/

LABEL slax
MENU LABEL Slax Text mode
KERNEL /boot/slax/vmlinuz
APPEND initrd=/boot/slax/initrd.lz ramdisk_size=6666 root=/dev/ram0 rw  changes=/slax/" >> multicd-working/boot/isolinux/isolinux.cfg
elif [ -f multicd-working/slax/base/002-xorg.lzm ];then
echo "LABEL xconf
MENU LABEL ^Slax Graphics mode (KDE)
KERNEL /boot/slax/vmlinuz
APPEND initrd=/boot/slax/initrd.gz ramdisk_size=6666 root=/dev/ram0 rw autoexec=xconf;telinit~4  changes=/slax/

LABEL copy2ram
MENU LABEL Slax Graphics mode, Copy To RAM
KERNEL /boot/slax/vmlinuz
APPEND initrd=/boot/slax/initrd.gz ramdisk_size=6666 root=/dev/ram0 rw copy2ram autoexec=xconf;telinit~4

LABEL startx
MENU LABEL Slax Graphics VESA mode
KERNEL /boot/slax/vmlinuz
APPEND initrd=/boot/slax/initrd.gz ramdisk_size=6666 root=/dev/ram0 rw autoexec=telinit~4  changes=/slax/

LABEL slax
MENU LABEL Slax Text mode
KERNEL /boot/slax/vmlinuz
APPEND initrd=/boot/slax/initrd.gz ramdisk_size=6666 root=/dev/ram0 rw  changes=/slax/" >> multicd-working/boot/isolinux/isolinux.cfg
else
echo "LABEL slax
MENU LABEL ^Slax Text mode
KERNEL /boot/slax/vmlinuz
APPEND initrd=/boot/slax/initrd.$SUFFIX ramdisk_size=6666 root=/dev/ram0 rw  changes=/slax/

LABEL slax2ram
MENU LABEL Slax Text mode, Copy To RAM
KERNEL /boot/slax/vmlinuz
APPEND initrd=/boot/slax/initrd.$SUFFIX ramdisk_size=6666 root=/dev/ram0 rw copy2ram" >> multicd-working/boot/isolinux/isolinux.cfg
fi
fi
#END SLAX ENTRY#
if [ -f slitaz.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << "EOF"
label slitaz
	menu label ^SliTaz GNU/Linux
	kernel /boot/slitaz/bzImage
	append initrd=/boot/slitaz/rootfs.gz rw root=/dev/null vga=normal
EOF
fi
if [ -f sysrcd.iso ];then
VERSION=$(cat multicd-working/boot/sysrcd/version)
cat >> multicd-working/boot/isolinux/isolinux.cfg << EOF
label sysrcd
menu label --> ^System Rescue Cd ($VERSION)
com32 menu.c32
append sysrcd.cfg

EOF

cat > multicd-working/boot/isolinux/sysrcd.cfg << EOF
menu title System Rescue CD

label rescuecd0
menu label ^SystemRescueCd 32-bit
kernel /boot/sysrcd/rescuecd
append initrd=/boot/sysrcd/initram.igz subdir=/boot/sysrcd
label rescuecd1
menu label SystemRescueCd 64-bit
kernel /boot/sysrcd/rescue64
append initrd=/boot/sysrcd/initram.igz subdir=/boot/sysrcd
label rescuecd2
menu label SystemRescueCd 32-bit (alternate kernel)
kernel /boot/sysrcd/altker32
append initrd=/boot/sysrcd/initram.igz video=ofonly subdir=/boot/sysrcd
label rescuecd3
menu label SystemRescueCd 64-bit (alternate kernel)
kernel /boot/sysrcd/altker64
append initrd=/boot/sysrcd/initram.igz video=ofonly subdir=/boot/sysrcd
label rescuecd-rootauto
menu label SysRCD: rescue installed Linux (root=auto; 32-bit)
kernel /boot/sysrcd/rescuecd
append initrd=/boot/sysrcd/initram.igz root=auto subdir=/boot/sysrcd

label back
menu label Back to main menu
com32 menu.c32
append isolinux.cfg
EOF
fi
#BEGIN TCNET ENTRY#
if [ -f tcnet.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << "EOF"
label tcnet-hdc
	menu label ^Boot TCNet (128 MB RAM or less; CD drive must be IDE secondary master)
	kernel /boot/bzImage
	append initrd=/boot/tcnet.gz max_loop=255 norestore tce=hdc/tcnet
label tcnet-full
	menu label ^Boot TCNet (192 MB RAM or more; everything loaded to RAM)
	kernel /boot/bzImage
	append initrd=/boot/tcntfull.gz max_loop=255 norestore base
EOF
fi
#END TCNET ENTRY#
#BEGIN TINY CORE ENTRY#
if [ -f tinycore.iso ];then
for i in $(ls multicd-working/boot/tinycore|grep ".gz");do
if [ $i = tinycore.gz ];then
echo "label tinycore
menu label ^Tiny Core Linux
kernel /boot/tinycore/bzImage
append quiet initrd=/boot/tinycore/tinycore.gz">>multicd-working/boot/isolinux/isolinux.cfg
elif [ $i = microcore.gz ];then
echo "label microcore
menu label Micro Core
kernel /boot/tinycore/bzImage
append quiet initrd=/boot/tinycore/microcore.gz">>multicd-working/boot/isolinux/isolinux.cfg
else
echo "label $i
menu label $i
kernel /boot/tinycore/bzImage
append quiet initrd=/boot/tinycore/$i">>multicd-working/boot/isolinux/isolinux.cfg
fi
done
fi
#END TINY CORE ENTRY#
if [ -f tinyme.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << "EOF"
label LiveCD
    menu label ^TinyMe - LiveCD
    kernel /boot/tinyme/vmlinuz
    append livecd=livecd initrd=/boot/tinyme/initrd.gz root=/dev/rd/3 acpi=on vga=788 keyb=us splash=silent fstab=rw,noauto
label VideoSafeModeFBDev
    menu label TinyMe - VideoSafeModeFBDev
    kernel /boot/tinyme/vmlinuz
    append livecd=livecd initrd=/boot/tinyme/initrd.gz root=/dev/rd/3 acpi=on vga=788 keyb=us splash=silent fstab=rw,noauto framebuffer
label VideoSafeModeVesa
    menu label TinyMe - VideoSafeModeVesa
    kernel /boot/tinyme/vmlinuz
    append livecd=livecd initrd=/boot/tinyme/initrd.gz root=/dev/rd/3 acpi=on vga=788 keyb=us splash=silent fstab=rw,noauto vesa
label Safeboot
    menu label TinyMe - Safeboot
    kernel /boot/tinyme/vmlinuz
    append livecd=livecd initrd=/boot/tinyme/initrd.gz root=/dev/rd/3 acpi=off vga=normal keyb=us noapic nolapic noscsi nopcmcia
label Console
    menu label TinyMe - Console
    kernel /boot/tinyme/vmlinuz
    append livecd=livecd 3 initrd=/boot/tinyme/initrd.gz root=/dev/rd/3 acpi=on vga=788 keyb=us splash=silent fstab=rw,noauto
label Copy2ram
    menu label TinyMe - Copy2ram
    kernel /boot/tinyme/vmlinuz
    append livecd=livecd copy2ram initrd=/boot/tinyme/initrd.gz root=/dev/rd/3 acpi=on vga=788 keyb=us splash=silent fstab=rw,noauto splash=verbose
EOF
fi
if [ -f trk.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << "EOF"
label trk
menu label --> ^Trinity Rescue Kit
com32 vesamenu.c32
append trk.menu
EOF
cat > multicd-working/boot/isolinux/trk.menu << "EOF"
prompt 0

menu title     build 318
menu background trklogo.jpg
menu color tabmsg 37;40      #80ffffff #00000000
menu color hotsel 30;47      #40000000 #20ffffff
menu color sel 30;47      #40000000 #20ffffff
menu color scrollbar 30;47      #40000000 #20ffffff

MENU WIDTH 75
MENU MARGIN 5
MENU PASSWORDMARGIN 3
MENU ROWS 18
MENU TABMSGROW 22
MENU CMDLINEROW 22
MENU ENDROW 24
MENU PASSWORDROW 11
MENU TIMEOUTROW 23

label trk3
menu label Run ^Trinity Rescue Kit 3.3 (default)
kernel /boot/trinity/kernel.trk
append initrd=/boot/trinity/initrd.trk ramdisk_size=49152 root=/dev/ram0 vga=788 splash=verbose pci=conf1

label trk3-1
menu label ^1 : TRK 3.3 as bootserver to boot other TRK clients
kernel /boot/trinity/kernel.trk
append initrd=/boot/trinity/initrd.trk ramdisk_size=49152 root=/dev/ram0 vga=788 splash=verbose pci=conf1 trkbootnet

label trk3-2
menu label ^2 : TRK 3.3 running from RAM (best >= 512mb, 256mb min)
kernel /boot/trinity/kernel.trk
append initrd=/boot/trinity/initrd.trk ramdisk_size=49152 root=/dev/ram0 vga=788 splash=verbose pci=conf1 trkinmem

label trk3-3
menu label ^3 : TRK 3.3 with bigger screenfont
kernel /boot/trinity/kernel.trk
append initrd=/boot/trinity/initrd.trk ramdisk_size=49152 root=/dev/ram0 vga=788 splash=verbose pci=conf1 normalfont

label trk3-4
menu label ^4 : TRK 3.3 in simple VGA mode (debugging of kernel output)
kernel /boot/trinity/kernel.trk
append initrd=/boot/trinity/initrd.trk ramdisk_size=49152 root=/dev/ram0 vga=1 pci=conf1 splash=off

label trk3-5
kernel /boot/trinity/kernel.trk
menu label ^5 : TRK 3.3 with Belgian keyboard (see docs for other)
append initrd=/boot/trinity/initrd.trk ramdisk_size=49152 root=/dev/ram0 vga=788 splash=verbose pci=conf1 keyb_be

label trk3-6
kernel /boot/trinity/kernel.trk
menu label ^6 : TRK 3.3 - Virusscan all drives (non interactive)
append initrd=/boot/trinity/initrd.trk ramdisk_size=49152 root=/dev/ram0 vga=788 splash=verbose pci=conf1 virusscan

label trk3-7
kernel /boot/trinity/kernel.trk
menu label ^7 : TRK 3.3 - Try more pcmcia and usb nics (when not detected)
append initrd=/boot/trinity/initrd.trk ramdisk_size=49152 root=/dev/ram0 vga=788 splash=verbose pci=conf1 pcmcia

label trk3-8
kernel /boot/trinity/kernel.trk
menu label ^8 : TRK 3.3 - Try more SCSI drivers (when disks not detected)
append initrd=/boot/trinity/initrd.trk ramdisk_size=49152 root=/dev/ram0 vga=788 splash=verbose pci=conf1 scsidrv

label trk3-9
kernel /boot/trinity/kernel.trk
menu label ^9 : TRK 3.3 with a secure shell server enabled
append initrd=/boot/trinity/initrd.trk ramdisk_size=49152 root=/dev/ram0 vga=788 splash=verbose pci=conf1 sshd

label trk3-10
kernel /boot/trinity/kernel.trk
menu label ^10 : TRK 3.3 - Execute local scripts on harddrive of PC
append initrd=/boot/trinity/initrd.trk ramdisk_size=49152 root=/dev/ram0 vga=788 splash=verbose pci=conf1 locscr

label trk3-11
kernel /boot/trinity/kernel.trk
menu label 11: TRK 3.3 - ^Fileshare all drives, secured with user
append initrd=/boot/trinity/initrd.trk ramdisk_size=49152 root=/dev/ram0 vga=788 splash=verbose pci=conf1 smbsec

label trk3-12
kernel /boot/trinity/kernel.trk
menu label 11: TRK 3.3 - Fileshare all drives as ^guest, no security
append initrd=/boot/trinity/initrd.trk ramdisk_size=49152 root=/dev/ram0 vga=788 splash=verbose pci=conf1 smbguest


label trk3-0
kernel /boot/trinity/kernel.trk
menu label 13: TRK 3.3 - ^Single user mode
append initrd=/boot/trinity/initrd.trk ramdisk_size=49152 root=/dev/ram0 vga=788 splash=verbose pci=conf1 runlevel 1

label trk3-noacpi
kernel /boot/trinity/kernel.trk
menu label 14: TRK 3.3 - Acpi=off, noapic  PCI=^bios (Alternate boot 1)
append initrd=/boot/trinity/initrd.trk ramdisk_size=49152 root=/dev/ram0 vga=788 splash=verbose acpi=off noapic pci=bios

label trk3-pcinormal
kernel /boot/trinity/kernel.trk
menu label 15: TRK 3.3 - ^Acpi=off, noapic PCI=any (Alternate boot 2)
append initrd=/boot/trinity/initrd.trk ramdisk_size=49152 root=/dev/ram0 vga=788 splash=verbose acpi=off noapic

label trk3-pciconf1
kernel /boot/trinity/kernel.trk
menu label 16: TRK 3.3 - ^PCI=conf2 (Alternate boot 3)
append initrd=/boot/trinity/initrd.trk ramdisk_size=49152 root=/dev/ram0 vga=788 splash=verbose pci=conf2

label trk3-debug
menu label 17: TRK 3.3 - ^Verbose startup for debugging after initial bootfase
kernel /boot/trinity/kernel.trk
append initrd=/boot/trinity/initrd.trk ramdisk_size=49152 root=/dev/ram0 vga=788 splash=verbose pci=conf1 debugging

label trk3-18
menu label 18: TRK 3.3 - SSH server and run from ^RAM
kernel /boot/trinity/kernel.trk
append initrd=/boot/trinity/initrd.trk ramdisk_size=49152 root=/dev/ram0 vga=788 splash=verbose pci=conf1 sshd trkinmem

label trk3-19
menu label 19: TRK 3.3 - SSH server, run from RAM, act as a ^secure fileserver
kernel /boot/trinity/kernel.trk
append initrd=/boot/trinity/initrd.trk ramdisk_size=49152 root=/dev/ram0 vga=788 splash=verbose pci=conf1 sshd trkinmem smbsec

label trk3-20
menu label 20 : TRK 3.3 with ^proxyserver support enabled
kernel /boot/trinity/kernel.trk
append initrd=/boot/trinity/initrd.trk ramdisk_size=49152 root=/dev/ram0 vga=788 splash=verbose pci=conf1 proxy

label back
menu label ^Back to main menu
com32 menu.c32
append isolinux.cfg
EOF
fi
if [ -f ubcd.iso ];then
VERSION=$(cat ubcdver.tmp.txt)
rm ubcdver.tmp.txt
cat >> multicd-working/boot/isolinux/isolinux.cfg << EOF
label ubcd
menu label --> ^Ultimate Boot CD ($VERSION) - Main menu
com32 menu.c32
append /ubcd/menus/isolinux/main.cfg
EOF
fi
if [ -f ubuntu-mini.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << "EOF"
LABEL uinstall
menu label Install ^Ubuntu
	kernel /boot/ubuntu/linux
	append vga=normal initrd=/boot/ubuntu/initrd.gz -- 
LABEL ucli
menu label Install Ubuntu (CLI)
	kernel /boot/ubuntu/linux
	append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false vga=normal initrd=/boot/ubuntu/initrd.gz -- 

LABEL uexpert
menu label Install Ubuntu - expert mode
	kernel /boot/ubuntu/linux
	append priority=low vga=normal initrd=/boot/ubuntu/initrd.gz -- 
LABEL ucli-expert
menu label Install Ubuntu (CLI) - expert mode
	kernel /boot/ubuntu/linux
	append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false priority=low vga=normal initrd=/boot/ubuntu/initrd.gz -- 
EOF
fi
if [ -f ubuntu.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << EOF
label ubuntu2
menu label --> Ubuntu #1 Menu
com32 menu.c32
append /boot/ubuntu/ubuntu.cfg

EOF
cat >> multicd-working/boot/ubuntu/ubuntu.cfg << EOF

label back
menu label Back to main menu
com32 menu.c32
append /boot/isolinux/isolinux.cfg
EOF
fi
if [ -f ubuntu2.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << EOF
label ubuntu2
menu label --> Ubuntu Custom #2 Menu
com32 menu.c32
append /boot/ubuntu2/ubuntu2.cfg

EOF
cat >> multicd-working/boot/ubuntu2/ubuntu2.cfg << EOF

label back
menu label Back to main menu
com32 menu.c32
append /boot/isolinux/isolinux.cfg
EOF
if [ -f tags/ubuntu-custom2.name ];then
	perl -pi -e "s/Ubuntu\ Custom\ \#2/$(cat tags/ubuntu-custom2.name)/g" multicd-working/boot/isolinux/isolinux.cfg
fi
fi
if [ -f ubuntu3.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << EOF
label ubuntu3
menu label --> Ubuntu Custom #3 Menu
com32 menu.c32
append /boot/ubuntu3/ubuntu3.cfg

EOF
cat >> multicd-working/boot/ubuntu3/ubuntu3.cfg << EOF

label back
menu label Back to main menu
com32 menu.c32
append /boot/isolinux/isolinux.cfg
EOF
if [ -f tags/ubuntu-custom3.name ];then
	perl -pi -e "s/Ubuntu\ Custom\ \#3/$(cat tags/ubuntu-custom3.name)/g" multicd-working/boot/isolinux/isolinux.cfg
fi
fi
if [ -f ubuntu_32_bit.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << EOF
label ubuntu_32_bit2
menu label --> ubuntu_32_bit #1 Menu
com32 menu.c32
append /boot/ubuntu_32_bit/ubuntu_32_bit.cfg

EOF
cat >> multicd-working/boot/ubuntu_32_bit/ubuntu_32_bit.cfg << EOF

label back
menu label Back to main menu
com32 menu.c32
append /boot/isolinux/isolinux.cfg
EOF
fi
if [ -f ubuntu_64_bit.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << EOF
label ubuntu_64_bit2
menu label --> ubuntu_64_bit #1 Menu
com32 menu.c32
append /boot/ubuntu_64_bit/ubuntu_64_bit.cfg

EOF
cat >> multicd-working/boot/ubuntu_64_bit/ubuntu_64_bit.cfg << EOF

label back
menu label Back to main menu
com32 menu.c32
append /boot/isolinux/isolinux.cfg
EOF
fi
if [ -f vyatta.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << "EOF"
label vyatta-live
	menu label ^Vyatta - Live
	kernel /Vyatta/vmlinuz1
	append console=ttyS0 console=tty0 quiet initrd=/Vyatta/initrd1.img boot=live nopersistent noautologin nonetworking nouser hostname=vyatta live-media-path=/Vyatta
label vyatta-console
	menu label ^Vyatta - VGA Console
	kernel /Vyatta/vmlinuz1
	append quiet initrd=/Vyatta/initrd1.img boot=live nopersistent noautologin nonetworking nouser hostname=vyatta live-media-path=/Vyatta
label vyatta-serial
	menu label ^Vyatta - Serial Console
	kernel /Vyatta/vmlinuz1
	append console=ttyS0 quiet initrd=/Vyatta/initrd1.img boot=live nopersistent noautologin nonetworking nouser hostname=vyatta live-media-path=/Vyatta
label vyatta-debug
	menu label ^Vyatta - Debug
	kernel /Vyatta/vmlinuz1
	append console=ttyS0 console=tty0 debug verbose initrd=/Vyatta/initrd1.img boot=live nopersistent noautologin nonetworking nouser hostname=vyatta  live-media-path=/Vyatta
EOF
fi
if [ -f weaknet.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << "EOF"
LABEL live
  menu label ^WeakNet Linux (live)
  kernel /boot/weaknet/vmlinuz
  append  file=/cdrom/preseed/custom.seed boot=casper initrd=/boot/weaknet/initrd.gz quiet splash ignore_uuid --
LABEL xforcevesa
  menu label WeakNet Linux (safe graphics mode)
  kernel /boot/weaknet/vmlinuz
  append  file=/cdrom/preseed/custom.seed boot=casper xforcevesa initrd=/boot/weaknet/initrd.gz quiet splash ignore_uuid --
LABEL install
  menu label Install WeakNet Linux
  kernel /boot/weaknet/vmlinuz
  append  file=/cdrom/preseed/custom.seed boot=casper only-ubiquity initrd=/boot/weaknet/initrd.gz quiet splash ignore_uuid --
EOF
fi
if [ -f win98se.iso ];then
echo "label win98se
menu label ^Windows 98 Second Edition Setup
kernel memdisk
initrd /boot/win98se.img">>multicd-working/boot/isolinux/isolinux.cfg
fi
if [ -f winme.iso ];then
echo "label winme
menu label ^Windows Me Setup
kernel memdisk
initrd /boot/winme.img">>multicd-working/boot/isolinux/isolinux.cfg
fi
if [ -f wolvix.iso ];then
cat >> multicd-working/boot/isolinux/isolinux.cfg << "EOF"
label wolvix
menu label ^Wolvix GNU/Linux (login as root, password is toor)
kernel /boot/vmlinuz
append changes=wolvixsave.xfs max_loop=255 initrd=/boot/initrd.gz ramdisk_size=6666 root=/dev/ram0 rw vga=791 splash=silent
EOF
fi
#END WRITE

#BEGIN DISK IMAGE ENTRY#
j="0"
for i in *.im[agz]; do
  test -r "$i" || continue
  BASICNAME=$(echo $i|sed 's/\.im.//')
  echo label "$BASICNAME" >> multicd-working/boot/isolinux/isolinux.cfg
  echo kernel memdisk >> multicd-working/boot/isolinux/isolinux.cfg
  echo append initrd=/boot/$j.img >> multicd-working/boot/isolinux/isolinux.cfg
  j=$( expr $j + 1 )
done
#END DISK IMAGE ENTRY#

#BEGIN GRUB4DOS ENTRY#
if [ -f multicd-working/boot/grub.exe ];then
echo "label grub4dos
menu label ^GRUB4DOS
kernel /boot/grub.exe">>multicd-working/boot/isolinux/isolinux.cfg
elif [ -f multicd-working/boot/riplinux/grub4dos/grub.exe ];then
echo "label grub4dos
menu label ^GRUB4DOS
kernel /boot/riplinux/grub4dos/grub.exe">>multicd-working/boot/isolinux/isolinux.cfg
fi
#END GRUB4DOS ENTRY#

#BEGIN GAMES ENTRY#
if [ $GAMES = 1 ];then
echo "label games
menu label ^Games on disk images
com32 menu.c32
append games.cfg">>multicd-working/boot/isolinux/isolinux.cfg
fi
#END GAMES ENTRY#

#BEGIN MEMTEST ENTRY#
if [ -f multicd-working/boot/memtest ];then
echo "label memtest
menu label ^Memtest86+
kernel /boot/memtest">>multicd-working/boot/isolinux/isolinux.cfg
fi
#END MEMTEST ENTRY#
##END ISOLINUX MENU CODE##

if [ $GAMES = 1 ];then
k="0"
cat > multicd-working/boot/isolinux/games.cfg << "EOF"
default menu.c32
timeout 300

menu title "Choose a game to play:"
EOF
for i in games/*.im[agz]; do
  test -r "$i" || continue
  BASICNAME=$(echo $i|sed 's/\.im.//'|sed 's/games\///')
  echo label "$BASICNAME" >> multicd-working/boot/isolinux/games.cfg
  echo kernel memdisk >> multicd-working/boot/isolinux/games.cfg
  echo append initrd=/boot/games/$k.img >> multicd-working/boot/isolinux/games.cfg
  k=$( expr $k + 1 )
done
echo "label back
menu label Back to main menu
com32 menu.c32
append isolinux.cfg">>multicd-working/boot/isolinux/games.cfg
fi

if [ -d includes ];then
 echo "Copying includes..."
 cp -r includes/* multicd-working/
fi

if [ $MD5 = 1 ];then
 echo "Generating MD5 checksums..."
 if [ $VERBOSE != 0 ];then
  find multicd-working/ -type f -not -name md5sum.txt -not -name boot.cat -not -name isolinux.bin \
  -exec md5sum '{}' \; | sed 's/multicd-working\///g' | tee multicd-working/md5sum.txt
 else
  find multicd-working/ -type f -not -name md5sum.txt -not -name boot.cat -not -name isolinux.bin\
  -exec md5sum '{}' \; | sed 's/multicd-working\///g' > multicd-working/md5sum.txt
 fi
fi

if which genisoimage > /dev/null;then
 GENERATOR="genisoimage"
elif which mkisofs > /dev/null;then
 GENERATOR="mkisofs"
else
 echo "Neither genisoimage nor mkisofs was found."
 exit 1
fi
EXTRAARGS=""
if [ $VERBOSE = 0 ];then
	EXTRAARGS="$EXTRAARGS -quiet"
fi
if [ ! -f tags/win9x ];then
	EXTRAARGS="$EXTRAARGS -iso-level 4" #To ensure that Windows 9x installation CDs boot properly
fi
echo "Building CD image..."
$GENERATOR -o multicd.iso \
-b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat \
-no-emul-boot -boot-load-size 4 -boot-info-table \
-r -J -joliet-long $EXTRAARGS -D \
-l -V "$CDLABEL" multicd-working/
rm -r multicd-working/
chmod 666 multicd.iso
rm -r tags
#END SCRIPT
