Merge branch 'multiple-iso-locations' into 'master'
This commit is contained in:
commit
e809b32e67
11 changed files with 246 additions and 84 deletions
|
@ -2,30 +2,70 @@
|
||||||
#
|
#
|
||||||
insmod regexp
|
insmod regexp
|
||||||
|
|
||||||
set isopath="/boot/isos"
|
|
||||||
export isopath
|
|
||||||
|
|
||||||
set isoconfdir="${isoconfig}.d"
|
set isoconfdir="${isoconfig}.d"
|
||||||
export isoconfdir
|
export isoconfdir
|
||||||
|
|
||||||
if [ -d "${isoconfdir}" ]; then
|
if [ ! -d "${isoconfdir}" ]; then
|
||||||
echo "${isoconfdir} is a directory"
|
echo "Cannot read ${isoconfdir}"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Loop over both FAT32 and ExFAT filesystems
|
||||||
|
isouuids="EAB6-E0E9 0BB2-9158"
|
||||||
|
|
||||||
|
for isouuid in $isouuids
|
||||||
|
do
|
||||||
|
echo ""
|
||||||
|
echo "Searching isoroot on UUID=${isouuid}"
|
||||||
|
|
||||||
|
search --no-floppy --fs-uuid --set=isodev $isouuid
|
||||||
|
set isopath="/isos"
|
||||||
|
|
||||||
|
set isoroot="(${isodev})${isopath}"
|
||||||
|
|
||||||
|
if [ ! -d "${isoroot}" ]; then
|
||||||
|
echo "Ignoring invalid iso root at ${isoroot}"
|
||||||
|
sleep 1
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
# split isoroot again
|
||||||
|
echo "Found iso root at ${isoroot}"
|
||||||
|
|
||||||
|
regexp \
|
||||||
|
--set 1:isodev \
|
||||||
|
--set 2:isopath \
|
||||||
|
"^(\(.*\))?(.*)\$" "${isoroot}"
|
||||||
|
|
||||||
|
echo "isodev: ${isodev}"
|
||||||
|
echo "isopath: ${isopath}"
|
||||||
|
|
||||||
|
# Export the variables
|
||||||
|
export isoroot
|
||||||
|
export isopath
|
||||||
|
export isodev
|
||||||
|
|
||||||
|
# Read appropriate iso configs
|
||||||
|
echo "Reading ${isoconfdir}"
|
||||||
for conf in ${isoconfdir}/*.cfg; do
|
for conf in ${isoconfdir}/*.cfg; do
|
||||||
if [ ! -f "$conf" ]; then
|
if [ ! -f "$conf" ]; then
|
||||||
echo "No valid configuration to read"
|
echo "No valid configuration to read"
|
||||||
break;
|
break;
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Sourcing $conf "
|
#echo "Sourcing $conf "
|
||||||
source "${conf}"
|
source "${conf}"
|
||||||
done
|
done
|
||||||
|
|
||||||
menuentry ' ' { true }
|
sleep 1
|
||||||
|
done
|
||||||
|
|
||||||
menuentry "[Esc] Back to Menu" {
|
# let the echos be readable
|
||||||
|
echo "Waiting for 5 seconds..."
|
||||||
|
sleep 5
|
||||||
|
|
||||||
|
menuentry ' ' { true }
|
||||||
|
|
||||||
|
menuentry "[Esc] Back to Menu" {
|
||||||
configfile "${prefix}/grub.cfg"
|
configfile "${prefix}/grub.cfg"
|
||||||
}
|
}
|
||||||
else
|
|
||||||
echo "Cannot read ${isoconfdir}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
|
@ -1,14 +1,17 @@
|
||||||
# Alpine Linux Grub config
|
# Alpine Linux Grub config
|
||||||
|
|
||||||
set isopath_alpine="${isopath}/alpine"
|
set this_isopath="${isodev}${isopath}/alpine"
|
||||||
export isopath_alpine
|
|
||||||
|
|
||||||
for isofile in ${isopath_alpine}/alpine-standard*.iso; do
|
# abuse for to check for existence
|
||||||
|
for isofile in ${this_isopath}/alpine-standard*.iso; do
|
||||||
if [ ! -e "$isofile" ]; then break; fi
|
if [ ! -e "$isofile" ]; then break; fi
|
||||||
|
|
||||||
submenu "Alpine Linux >" --class alpine {
|
echo "Found Alpines in ${this_isopath}"
|
||||||
|
|
||||||
for isofile in ${isopath_alpine}/alpine-standard*.iso; do
|
submenu "Alpine Linux >" "${this_isopath}" --class alpine {
|
||||||
|
this_isopath=$2
|
||||||
|
|
||||||
|
for isofile in ${this_isopath}/alpine-standard*.iso; do
|
||||||
if [ ! -e "$isofile" ]; then break; fi
|
if [ ! -e "$isofile" ]; then break; fi
|
||||||
|
|
||||||
regexp \
|
regexp \
|
||||||
|
@ -16,13 +19,19 @@ for isofile in ${isopath_alpine}/alpine-standard*.iso; do
|
||||||
--set 2:variant \
|
--set 2:variant \
|
||||||
--set 3:version \
|
--set 3:version \
|
||||||
--set 4:arch \
|
--set 4:arch \
|
||||||
"^${isopath_alpine}/(alpine-([^-]+)-([^-]+)-([^-]+)\.iso)\$" "${isofile}"
|
"^.*/(alpine-([^-]+)-([^-]+)-([^-]+)\.iso)\$" "${isofile}"
|
||||||
|
|
||||||
menuentry "Alpine Linux ${variant} ${version} ${arch}" "${isofile}" "${isoname}" --class alpine {
|
menuentry "Alpine Linux ${variant} ${version} ${arch}" "${isofile}" "${isoname}" --class alpine {
|
||||||
set isofile=$2
|
set isofile=$2
|
||||||
set isoname=$3
|
set isoname=$3
|
||||||
|
|
||||||
|
regexp \
|
||||||
|
--set 1:isodev \
|
||||||
|
--set 2:isofile \
|
||||||
|
"^(\(.*\))?(.*)\$" "${isofile}"
|
||||||
|
|
||||||
echo "Using ${isoname}..."
|
echo "Using ${isoname}..."
|
||||||
loopback loop $isofile
|
loopback loop "${isodev}${isofile}"
|
||||||
linux (loop)/boot/grsec initrd=/boot/grsec.gz iso-scan/filename=${isofile} alpine_dev=usbdisk:exfat modules=loop,cramfs,sd-mod,usb-storage
|
linux (loop)/boot/grsec initrd=/boot/grsec.gz iso-scan/filename=${isofile} alpine_dev=usbdisk:exfat modules=loop,cramfs,sd-mod,usb-storage
|
||||||
initrd (loop)/boot/grsec.gz
|
initrd (loop)/boot/grsec.gz
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,43 +1,51 @@
|
||||||
# This is the ArchLinux Grub config
|
# This is the ArchLinux Grub config
|
||||||
# from GLIM
|
# from GLIM
|
||||||
|
|
||||||
set isopath_archlinux="${isopath}/archlinux"
|
set this_isopath="${isodev}${isopath}/archlinux"
|
||||||
export isopath_archlinux
|
|
||||||
|
|
||||||
# abuse for to check for existence
|
# abuse for to check for existence
|
||||||
for isofile in $isopath_archlinux/archlinux*.iso $isopath_archlinux/ipxe*; do
|
for isofile in ${this_isopath}/archlinux*.iso ${this_isopath}/ipxe*; do
|
||||||
if [ ! -e "$isofile" ]; then break; fi
|
if [ ! -e "$isofile" ]; then break; fi
|
||||||
|
|
||||||
submenu "ArchLinux >" --class arch {
|
echo "Found Arches in ${this_isopath}"
|
||||||
|
|
||||||
|
submenu "ArchLinux >" "${this_isopath}" --class arch {
|
||||||
|
this_isopath=$2
|
||||||
|
|
||||||
menuentry "ArchLinux BIOS netboot" --class arch {
|
menuentry "ArchLinux BIOS netboot" --class arch {
|
||||||
echo "Booting ArchLinux BIOS netboot"
|
echo "Booting ArchLinux BIOS netboot"
|
||||||
linux16 $isopath_archlinux/ipxe.419cd003a298.lkrn
|
linux16 ${this_isopath}/ipxe.419cd003a298.lkrn
|
||||||
}
|
}
|
||||||
|
|
||||||
if [ ${grub_platform} == "efi" ]; then
|
if [ ${grub_platform} == "efi" ]; then
|
||||||
menuentry "ArchLinux EFI netboot" --class arch {
|
menuentry "ArchLinux EFI netboot" --class arch {
|
||||||
echo "Booting ArchLinux EFI netboot"
|
echo "Booting ArchLinux EFI netboot"
|
||||||
chainloader $isopath_archlinux/ipxe.176077d7fccb.efi
|
chainloader ${this_isopath}/ipxe.176077d7fccb.efi
|
||||||
}
|
}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
menuentry "" { true }
|
menuentry "" { true }
|
||||||
|
|
||||||
for isofile in $isopath_archlinux/archlinux-*.iso; do
|
for isofile in ${this_isopath}/archlinux-*.iso; do
|
||||||
if [ ! -e "$isofile" ]; then break; fi
|
if [ ! -e "$isofile" ]; then break; fi
|
||||||
|
|
||||||
regexp \
|
regexp \
|
||||||
--set 1:isoname \
|
--set 1:isoname \
|
||||||
--set 2:version \
|
--set 2:version \
|
||||||
--set 3:arch \
|
--set 3:arch \
|
||||||
"^${isopath_archlinux}/(archlinux-([^-]+)-([^-]+)\.iso)\$" "${isofile}"
|
"^.*/(archlinux-([^-]+)-([^-]+)\.iso)\$" "${isofile}"
|
||||||
|
|
||||||
menuentry "Arch Linux ${version} ${arch}" "${isofile}" "${isoname}" --class arch {
|
menuentry "Arch Linux ${version} ${arch}" "${isofile}" "${isoname}" --class arch {
|
||||||
set isofile=$2
|
set isofile=$2
|
||||||
set isoname=$3
|
set isoname=$3
|
||||||
|
|
||||||
|
regexp \
|
||||||
|
--set 1:isodev \
|
||||||
|
--set 2:isofile \
|
||||||
|
"^(\(.*\))?(.*)\$" "${isofile}"
|
||||||
|
|
||||||
echo "Using ${isoname}..."
|
echo "Using ${isoname}..."
|
||||||
loopback loop $isofile
|
loopback loop "${isodev}${isofile}"
|
||||||
linux (loop)/arch/boot/x86_64/vmlinuz-linux img_dev=/dev/disk/by-uuid/${rootuuid} img_loop=${isofile}
|
linux (loop)/arch/boot/x86_64/vmlinuz-linux img_dev=/dev/disk/by-uuid/${rootuuid} img_loop=${isofile}
|
||||||
initrd (loop)/arch/boot/intel-ucode.img (loop)/arch/boot/amd-ucode.img (loop)/arch/boot/x86_64/initramfs-linux.img
|
initrd (loop)/arch/boot/intel-ucode.img (loop)/arch/boot/amd-ucode.img (loop)/arch/boot/x86_64/initramfs-linux.img
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,29 +1,37 @@
|
||||||
# Bodhi Linux Grub Config
|
# Bodhi Linux Grub Config
|
||||||
# NOTE: As of 5.0.0 the "legacy" image can't mount FAT32 (charset error)
|
# NOTE: As of 5.0.0 the "legacy" image can't mount FAT32 (charset error)
|
||||||
|
|
||||||
set isopath_bodhi="bodhi"
|
set this_isopath="${isodev}${isopath}/bodhi"
|
||||||
export isopath_bodhi
|
|
||||||
|
|
||||||
# abuse for to check for existence
|
# abuse for to check for existence
|
||||||
for isofile in ${isopath_bodhi}/bodhi-*.iso; do
|
for isofile in ${this_isopath}/bodhi-*.iso; do
|
||||||
if [ ! -e "$isofile" ]; then break; fi
|
if [ ! -e "$isofile" ]; then break; fi
|
||||||
|
|
||||||
submenu "Bodhi Linux >" --class bodhi {
|
echo "Found Bodhis in ${this_isopath}"
|
||||||
|
|
||||||
for isofile in ${isopath_bodhi}/bodhi-*.iso; do
|
submenu "Bodhi Linux >" "${this_isopath}" --class bodhi {
|
||||||
|
this_isopath=$2
|
||||||
|
|
||||||
|
for isofile in ${this_isopath}/bodhi-*.iso; do
|
||||||
if [ ! -e "$isofile" ]; then break; fi
|
if [ ! -e "$isofile" ]; then break; fi
|
||||||
|
|
||||||
regexp \
|
regexp \
|
||||||
--set 1:isoname \
|
--set 1:isoname \
|
||||||
--set 2:version \
|
--set 2:version \
|
||||||
--set 3:variant \
|
--set 3:variant \
|
||||||
"^${isopath_bodhi}/(bodhi-([^-]+)-(.+)\.iso)\$" "${isofile}"
|
"^.*/(bodhi-([^-]+)-(.+)\.iso)\$" "${isofile}"
|
||||||
|
|
||||||
menuentry "Bodhi ${version} ${variant}" "${isofile}" "${isoname}" --class bodhi {
|
menuentry "Bodhi ${version} ${variant}" "${isofile}" "${isoname}" --class bodhi {
|
||||||
set isofile=$2
|
set isofile=$2
|
||||||
set isoname=$3
|
set isoname=$3
|
||||||
|
|
||||||
|
regexp \
|
||||||
|
--set 1:isodev \
|
||||||
|
--set 2:isofile \
|
||||||
|
"^(\(.*\))?(.*)\$" "${isofile}"
|
||||||
|
|
||||||
echo "Using ${isoname}..."
|
echo "Using ${isoname}..."
|
||||||
loopback loop $isofile
|
loopback loop "${isodev}${isofile}"
|
||||||
linux (loop)/casper/vmlinuz iso-scan/filename=${isofile} file=/cdrom/preseed/custom.seed boot=casper quiet splash
|
linux (loop)/casper/vmlinuz iso-scan/filename=${isofile} file=/cdrom/preseed/custom.seed boot=casper quiet splash
|
||||||
initrd (loop)/casper/initrd*
|
initrd (loop)/casper/initrd*
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,17 +1,19 @@
|
||||||
# Debian GNU/Linux Grub config
|
# Debian GNU/Linux Grub config
|
||||||
# from GLIM
|
# from GLIM
|
||||||
|
|
||||||
set isopath_debian='debian'
|
set this_isopath="${isodev}${isopath}/debian"
|
||||||
export isopath_debian
|
|
||||||
|
|
||||||
# abuse for to check for existence
|
# abuse for to check for existence
|
||||||
for isofile in ${isopath_debian}/debian-*-netinst.iso ${isopath_debian}/debian-live-*.iso; do
|
for isofile in ${this_isopath}/debian-*-netinst.iso ${this_isopath}/debian-live-*.iso; do
|
||||||
if [ ! -e "$isofile" ]; then break; fi
|
if [ ! -e "$isofile" ]; then break; fi
|
||||||
|
|
||||||
submenu "Debian GNU/Linux >" --class debian {
|
echo "Found Debians in ${isopath}"
|
||||||
|
|
||||||
|
submenu "Debian GNU/Linux >" "${this_isopath}" --class debian {
|
||||||
|
this_isopath=$2
|
||||||
|
|
||||||
# NetInstall
|
# NetInstall
|
||||||
for isofile in ${isopath_debian}/debian-*-netinst.iso; do
|
for isofile in ${this_isopath}/debian-*-netinst.iso; do
|
||||||
if [ ! -e "$isofile" ]; then break; fi
|
if [ ! -e "$isofile" ]; then break; fi
|
||||||
|
|
||||||
regexp \
|
regexp \
|
||||||
|
@ -19,20 +21,26 @@ for isofile in ${isopath_debian}/debian-*-netinst.iso; do
|
||||||
--set 2:version \
|
--set 2:version \
|
||||||
--set 3:arch \
|
--set 3:arch \
|
||||||
--set 4:variant \
|
--set 4:variant \
|
||||||
"^${isopath_debian}/(debian-([^-]+)-([^-]+)-([^-]+)\.iso)\$" "${isofile}"
|
"^.*/(debian-([^-]+)-([^-]+)-([^-]+)\.iso)\$" "${isofile}"
|
||||||
|
|
||||||
menuentry "Debian NetInstall ${version} ${arch}" "${isofile}" "${isoname}" --class debian {
|
menuentry "Debian NetInstall ${version} ${arch}" "${isofile}" "${isoname}" --class debian {
|
||||||
set isofile=$2
|
set isofile=$2
|
||||||
set isoname=$3
|
set isoname=$3
|
||||||
|
|
||||||
|
regexp \
|
||||||
|
--set 1:isodev \
|
||||||
|
--set 2:isofile \
|
||||||
|
"^(\(.*\))?(.*)\$" "${isofile}"
|
||||||
|
|
||||||
echo "Using ${isoname}..."
|
echo "Using ${isoname}..."
|
||||||
loopback loop $isofile
|
loopback loop "${isodev}${isofile}"
|
||||||
linux (loop)/live/vmlinuz-* findiso=${isofile}
|
linux (loop)/live/vmlinuz-* findiso=${isofile}
|
||||||
initrd (loop)/live/initrd.img-*
|
initrd (loop)/live/initrd.img-*
|
||||||
}
|
}
|
||||||
done
|
done
|
||||||
|
|
||||||
# Live CD
|
# Live CD
|
||||||
for isofile in ${isopath_debian}/debian-live-*.iso; do
|
for isofile in ${this_isopath}/debian-live-*.iso; do
|
||||||
if [ ! -e "$isofile" ]; then break; fi
|
if [ ! -e "$isofile" ]; then break; fi
|
||||||
|
|
||||||
regexp \
|
regexp \
|
||||||
|
@ -40,13 +48,19 @@ for isofile in ${isopath_debian}/debian-live-*.iso; do
|
||||||
--set 2:version \
|
--set 2:version \
|
||||||
--set 3:arch \
|
--set 3:arch \
|
||||||
--set 4:variant \
|
--set 4:variant \
|
||||||
"^${isopath_debian}/(debian-live-([^-]+)-([^-]+)-([^-]+)\.iso)\$" "${isofile}"
|
"^.*/(debian-live-([^-]+)-([^-]+)-([^-]+)\.iso)\$" "${isofile}"
|
||||||
|
|
||||||
menuentry "Debian Live ${version} ${arch} ${variant}" "${isofile}" "${isoname}" --class debian {
|
menuentry "Debian Live ${version} ${arch} ${variant}" "${isofile}" "${isoname}" --class debian {
|
||||||
set isofile=$2
|
set isofile=$2
|
||||||
set isoname=$3
|
set isoname=$3
|
||||||
|
|
||||||
|
regexp \
|
||||||
|
--set 1:isodev \
|
||||||
|
--set 2:isofile \
|
||||||
|
"^(\(.*\))?(.*)\$" "${isofile}"
|
||||||
|
|
||||||
echo "Using ${isoname}..."
|
echo "Using ${isoname}..."
|
||||||
loopback loop $isofile
|
loopback loop "${isodev}${isofile}"
|
||||||
linux (loop)/live/vmlinuz-* boot=live findiso=${isofile} components
|
linux (loop)/live/vmlinuz-* boot=live findiso=${isofile} components
|
||||||
initrd (loop)/live/initrd.img-*
|
initrd (loop)/live/initrd.img-*
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,15 +1,18 @@
|
||||||
# Fedora Grub Config
|
# Fedora Grub Config
|
||||||
|
|
||||||
set isopath_fedora="${isopath}/fedora"
|
|
||||||
export isopath_fedora
|
set this_isopath="${isodev}${isopath}/fedora"
|
||||||
|
|
||||||
# abuse for to check for existence
|
# abuse for to check for existence
|
||||||
for isofile in ${isopath_fedora}/Fedora-*.iso; do
|
for isofile in ${this_isopath}/Fedora-*.iso; do
|
||||||
if [ ! -e "$isofile" ]; then break; fi
|
if [ ! -e "$isofile" ]; then break; fi
|
||||||
|
|
||||||
submenu "Fedora >" --class fedora {
|
echo "Found Fedoras in ${this_isopath}"
|
||||||
|
|
||||||
for isofile in ${isopath_fedora}/Fedora-*.iso; do
|
submenu "Fedora >" "${this_isopath}" --class fedora {
|
||||||
|
this_isopath=$2
|
||||||
|
|
||||||
|
for isofile in ${this_isopath}/Fedora-*.iso; do
|
||||||
if [ ! -e "$isofile" ]; then break; fi
|
if [ ! -e "$isofile" ]; then break; fi
|
||||||
|
|
||||||
regexp \
|
regexp \
|
||||||
|
@ -17,16 +20,22 @@ for isofile in ${isopath_fedora}/Fedora-*.iso; do
|
||||||
--set 2:variant \
|
--set 2:variant \
|
||||||
--set 3:arch \
|
--set 3:arch \
|
||||||
--set 4:version \
|
--set 4:version \
|
||||||
"^${isopath_fedora}/(Fedora-([^-]+)-Live-([^-]+)-([^-]+)-[^-]+\.iso)\$" "${isofile}"
|
"^.*/(Fedora-([^-]+)-Live-([^-]+)-([^-]+)-[^-]+\.iso)\$" "${isofile}"
|
||||||
|
|
||||||
menuentry "Fedora ${version} ${arch} ${variant}" "${isofile}" "${isoname}" --class fedora {
|
menuentry "Fedora ${version} ${arch} ${variant}" "${isofile}" "${isoname}" --class fedora {
|
||||||
set isofile=$2
|
set isofile=$2
|
||||||
set isoname=$3
|
set isoname=$3
|
||||||
|
|
||||||
|
regexp \
|
||||||
|
--set 1:isodev \
|
||||||
|
--set 2:isofile \
|
||||||
|
"^(\(.*\))?(.*)\$" "${isofile}"
|
||||||
|
|
||||||
echo "Using ${isoname}..."
|
echo "Using ${isoname}..."
|
||||||
loopback loop $isofile
|
loopback loop "${isodev}${isofile}"
|
||||||
probe --set isolabel --label (loop)
|
probe --set isolabel --label (loop)
|
||||||
linux (loop)/isolinux/vmlinuz root=live:CDLABEL=${isolabel} rd.live.image iso-scan/filename=${isofile} rhgb ro
|
linux (loop)/images/pxeboot/vmlinuz root=live:CDLABEL=${isolabel} rd.live.image iso-scan/filename=${isofile} rhgb ro
|
||||||
initrd (loop)/isolinux/initrd.img
|
initrd (loop)/images/pxeboot/initrd.img
|
||||||
}
|
}
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,37 +1,52 @@
|
||||||
# Kali Grub config
|
# Kali Grub config
|
||||||
# from GLIM
|
# from GLIM
|
||||||
|
|
||||||
set isopath_kali="kali"
|
set this_isopath="${isodev}${isopath}/kali"
|
||||||
export isopath_kali
|
|
||||||
|
|
||||||
# abuse for to check for existence
|
# abuse for to check for existence
|
||||||
for isofile in $isopath_kali/kali-linux-*.iso; do
|
for isofile in ${this_isopath}/kali-linux-*.iso; do
|
||||||
|
if [ ! -e "$isofile" ]; then break; fi
|
||||||
|
|
||||||
submenu "Kali Linux >" --class kali {
|
echo "Found Kali Linuxes in ${this_isopath}"
|
||||||
|
|
||||||
for isofile in ${isopath_kali}/kali-linux-*.iso; do
|
submenu "Kali Linux >" "${this_isopath}" --class kali {
|
||||||
|
this_isopath=$2
|
||||||
|
|
||||||
|
for isofile in ${this_isopath}/kali-linux-*.iso; do
|
||||||
if [ ! -e "$isofile" ]; then break; fi
|
if [ ! -e "$isofile" ]; then break; fi
|
||||||
|
|
||||||
regexp \
|
regexp \
|
||||||
--set 1:isoname \
|
--set 1:isoname \
|
||||||
--set 2:version \
|
--set 2:version \
|
||||||
--set 3:arch \
|
--set 3:arch \
|
||||||
"^${isopath_kali}/(kali-linux-([^-]+)-([^-]+)\.iso)\$" "${isofile}"
|
"^.*/(kali-linux-([^-]+)-([^-]+)\.iso)\$" "${isofile}"
|
||||||
|
|
||||||
menuentry "Kali ${version} ${arch}" "${isofile}" "${isoname}" --class kali {
|
menuentry "Kali ${version} ${arch}" "${isofile}" "${isoname}" --class kali {
|
||||||
set isofile=$2
|
set isofile=$2
|
||||||
set isoname=$3
|
set isoname=$3
|
||||||
|
|
||||||
|
regexp \
|
||||||
|
--set 1:isodev \
|
||||||
|
--set 2:isofile \
|
||||||
|
"^(\(.*\))?(.*)\$" "${isofile}"
|
||||||
|
|
||||||
echo "Using ${isoname}..."
|
echo "Using ${isoname}..."
|
||||||
loopback loop $isofile
|
loopback loop "${isodev}${isofile}"
|
||||||
linux (loop)/live/vmlinuz-*-amd64 findiso=${isofile} boot=live components splash username=root hostname=kali
|
linux (loop)/live/vmlinuz-*-amd64 fromiso=${isofile} boot=live components splash username=root hostname=kali
|
||||||
initrd (loop)/live/initrd.img-*-amd64
|
initrd (loop)/live/initrd.img-*-amd64
|
||||||
}
|
}
|
||||||
menuentry "Kali ${version} ${arch} (forensic mode)" "${isofile}" "${isoname}" --class kali {
|
menuentry "Kali ${version} ${arch} (forensic mode)" "${isofile}" "${isoname}" --class kali {
|
||||||
set isofile=$2
|
set isofile=$2
|
||||||
set isoname=$3
|
set isoname=$3
|
||||||
|
|
||||||
|
regexp \
|
||||||
|
--set 1:isodev \
|
||||||
|
--set 2:isofile \
|
||||||
|
"^(\(.*\))?(.*)\$" "${isofile}"
|
||||||
|
|
||||||
echo "Using ${isoname}..."
|
echo "Using ${isoname}..."
|
||||||
loopback loop $isofile
|
loopback loop "${isodev}${isofile}"
|
||||||
linux (loop)/live/vmlinuz-*-amd64 findiso=${isofile} boot=live components splash username=root hostname=kali noswap noautomount
|
linux (loop)/live/vmlinuz-*-amd64 fromiso=${isofile} boot=live components splash username=root hostname=kali noswap noautomount
|
||||||
initrd (loop)/live/initrd.img-*-amd64
|
initrd (loop)/live/initrd.img-*-amd64
|
||||||
}
|
}
|
||||||
done
|
done
|
||||||
|
|
|
@ -1,30 +1,37 @@
|
||||||
# Tails Grub config
|
# Tails Grub config
|
||||||
# from GLIM
|
# from GLIM
|
||||||
|
|
||||||
set isopath_tails="${isopath}/tails"
|
set this_isopath="${isodev}${isopath}/tails"
|
||||||
export isopath_tails
|
|
||||||
|
|
||||||
# abuse for to check for existence
|
# abuse for to check for existence
|
||||||
for isofile in $isopath_tails/tails-*.iso; do
|
for isofile in ${this_isopath}/tails-*.iso; do
|
||||||
if [ ! -e "$isofile" ]; then break; fi
|
if [ ! -e "$isofile" ]; then break; fi
|
||||||
|
|
||||||
submenu "Tails" --class tails {
|
echo "Found Tailses in ${this_isopath}"
|
||||||
|
|
||||||
for isofile in $isopath_tails/tails-*.iso; do
|
submenu "Tails" "${this_isopath}" --class tails {
|
||||||
|
this_isopath=$2
|
||||||
|
|
||||||
|
for isofile in ${this_isopath}/tails-*.iso; do
|
||||||
if [ ! -e "$isofile" ]; then break; fi
|
if [ ! -e "$isofile" ]; then break; fi
|
||||||
echo "$isofile exists"
|
|
||||||
|
|
||||||
regexp \
|
regexp \
|
||||||
--set 1:isoname \
|
--set 1:isoname \
|
||||||
--set 2:arch \
|
--set 2:arch \
|
||||||
--set 3:version \
|
--set 3:version \
|
||||||
"^${isopath_tails}/(tails-([^-]+)-([^-]+)\.iso)\$" "${isofile}"
|
"^.*/(tails-([^-]+)-([^-]+)\.iso)\$" "${isofile}"
|
||||||
|
|
||||||
menuentry "Tails ${version} ${arch}" "${isofile}" "${isoname}" --class tails {
|
menuentry "Tails ${version} ${arch}" "${isofile}" "${isoname}" --class tails {
|
||||||
set isofile=$2
|
set isofile=$2
|
||||||
set isoname=$3
|
set isoname=$3
|
||||||
|
|
||||||
|
regexp \
|
||||||
|
--set 1:isodev \
|
||||||
|
--set 2:isofile \
|
||||||
|
"^(\(.*\))?(.*)\$" "${isofile}"
|
||||||
|
|
||||||
echo "Using ${isoname}..."
|
echo "Using ${isoname}..."
|
||||||
loopback loop $isofile
|
loopback loop "${isodev}${isofile}"
|
||||||
linux (loop)/live/vmlinuz boot=live live-media=removable findiso=${isofile} config apparmor=1 security=apparmor nopersistence noprompt timezone=Etc/UTC block.events_dfl_poll_msecs=1000 splash noautologin module=Tails kaslr slab_nomerge slub_debug=FZP mce=0 vsyscall=none page_poison=1 union=aufs quiet
|
linux (loop)/live/vmlinuz boot=live live-media=removable findiso=${isofile} config apparmor=1 security=apparmor nopersistence noprompt timezone=Etc/UTC block.events_dfl_poll_msecs=1000 splash noautologin module=Tails kaslr slab_nomerge slub_debug=FZP mce=0 vsyscall=none page_poison=1 union=aufs quiet
|
||||||
initrd (loop)/live/initrd.img
|
initrd (loop)/live/initrd.img
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,29 +1,37 @@
|
||||||
# TinyCore Grub Config
|
# TinyCore Grub Config
|
||||||
|
|
||||||
|
|
||||||
set isopath_tinycore="${isopath}/tinycore"
|
set this_isopath="${isodev}${isopath}/tinycore"
|
||||||
export isopath_tinycore
|
|
||||||
|
|
||||||
# abuse for to check for existence
|
# abuse for to check for existence
|
||||||
for isofile in $isopath_tinycore/*.iso; do
|
for isofile in $this_isopath/*.iso; do
|
||||||
if [ ! -e "$isofile" ]; then break; fi
|
if [ ! -e "$isofile" ]; then break; fi
|
||||||
|
|
||||||
submenu "TinyCore Linux >" --class tinycore {
|
echo "Found TinyCores in ${this_isopath}"
|
||||||
|
|
||||||
for isofile in ${isopath_tinycore}/*Core*.iso; do
|
submenu "TinyCore Linux >" "${this_isopath}" --class tinycore {
|
||||||
|
this_isopath=$2
|
||||||
|
|
||||||
|
for isofile in ${this_isopath}/*Core*.iso; do
|
||||||
if [ ! -e "$isofile" ]; then break; fi
|
if [ ! -e "$isofile" ]; then break; fi
|
||||||
|
|
||||||
regexp \
|
regexp \
|
||||||
--set 1:isoname \
|
--set 1:isoname \
|
||||||
--set 2:variant \
|
--set 2:variant \
|
||||||
--set 3:version \
|
--set 3:version \
|
||||||
"^${isopath_tinycore}/((.*Core[^-]*)-(.+)\.iso)\$" "${isofile}"
|
"^.*/((.*Core[^-]*)-(.+)\.iso)\$" "${isofile}"
|
||||||
|
|
||||||
menuentry "${variant} ${version}" "${isofile}" "${isoname}" --class tinycore {
|
menuentry "${variant} ${version}" "${isofile}" "${isoname}" --class tinycore {
|
||||||
set isofile=$2
|
set isofile=$2
|
||||||
set isoname=$3
|
set isoname=$3
|
||||||
|
|
||||||
|
regexp \
|
||||||
|
--set 1:isodev \
|
||||||
|
--set 2:isofile \
|
||||||
|
"^(\(.*\))?(.*)\$" "${isofile}"
|
||||||
|
|
||||||
echo "Using ${isoname}..."
|
echo "Using ${isoname}..."
|
||||||
loopback loop $isofile
|
loopback loop "${isodev}${isofile}"
|
||||||
# ideas to add for CorePlus: loglevel=3 cde showapps desktop=flwm_topside
|
# ideas to add for CorePlus: loglevel=3 cde showapps desktop=flwm_topside
|
||||||
linux (loop)/boot/vmlinuz
|
linux (loop)/boot/vmlinuz
|
||||||
initrd (loop)/boot/core.gz
|
initrd (loop)/boot/core.gz
|
||||||
|
|
44
boot/isos.cfg.d/ubuntu.cfg
Normal file
44
boot/isos.cfg.d/ubuntu.cfg
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
# Ubuntu Grub Config
|
||||||
|
|
||||||
|
|
||||||
|
set this_isopath="${isodev}${isopath}/ubuntu"
|
||||||
|
|
||||||
|
# abuse for to check for existence
|
||||||
|
for isofile in ${this_isopath}/ubuntu-*.iso; do
|
||||||
|
if [ ! -e "$isofile" ]; then break; fi
|
||||||
|
|
||||||
|
echo "Found Ubuntus in ${this_isopath}"
|
||||||
|
|
||||||
|
submenu "Ubuntu >" "${this_isopath}" --class ubuntu {
|
||||||
|
this_isopath=$2
|
||||||
|
|
||||||
|
for isofile in ${this_isopath}/ubuntu-*.iso; do
|
||||||
|
if [ ! -e "$isofile" ]; then break; fi
|
||||||
|
|
||||||
|
regexp \
|
||||||
|
--set 1:isoname \
|
||||||
|
--set 2:version \
|
||||||
|
--set 3:variant \
|
||||||
|
--set 4:arch \
|
||||||
|
"^.*/(ubuntu-([^-]+)-(.*)-([^-]+)\.iso)\$" "${isofile}"
|
||||||
|
|
||||||
|
menuentry "Ubuntu ${version} ${arch} ${variant}" "${isofile}" "${isoname}" --class ubuntu {
|
||||||
|
set isofile=$2
|
||||||
|
set isoname=$3
|
||||||
|
|
||||||
|
regexp \
|
||||||
|
--set 1:isodev \
|
||||||
|
--set 2:isofile \
|
||||||
|
"^(\(.*\))?(.*)\$" "${isofile}"
|
||||||
|
|
||||||
|
echo "Using ${isoname}..."
|
||||||
|
loopback loop "${isodev}${isofile}"
|
||||||
|
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=${isofile} quiet splash
|
||||||
|
initrd (loop)/casper/initrd*
|
||||||
|
}
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
# kill for loop
|
||||||
|
break
|
||||||
|
done
|
0
boot/isos/.gitignore → isos/.gitignore
vendored
0
boot/isos/.gitignore → isos/.gitignore
vendored
Loading…
Reference in a new issue