From 554e9447669cdb354b08e1447b5187e2f10267cf Mon Sep 17 00:00:00 2001 From: Eric Teunis de Boone Date: Fri, 13 Nov 2020 03:43:10 +0100 Subject: [PATCH] Untested ISO configurations --- boot/isos.cfg.d/alpine.cfg | 35 +++++++++++++++++++++++ boot/isos.cfg.d/bodhi.cfg | 35 +++++++++++++++++++++++ boot/isos.cfg.d/debian.cfg | 58 ++++++++++++++++++++++++++++++++++++++ boot/isos.cfg.d/fedora.cfg | 36 +++++++++++++++++++++++ boot/isos.cfg.d/kali.cfg | 43 ++++++++++++++++++++++++++++ 5 files changed, 207 insertions(+) create mode 100644 boot/isos.cfg.d/alpine.cfg create mode 100644 boot/isos.cfg.d/bodhi.cfg create mode 100644 boot/isos.cfg.d/debian.cfg create mode 100644 boot/isos.cfg.d/fedora.cfg create mode 100644 boot/isos.cfg.d/kali.cfg diff --git a/boot/isos.cfg.d/alpine.cfg b/boot/isos.cfg.d/alpine.cfg new file mode 100644 index 0000000..80f012c --- /dev/null +++ b/boot/isos.cfg.d/alpine.cfg @@ -0,0 +1,35 @@ +# Alpine Linux Grub config + +set isopath_alpine="${isopath}/alpine" +export isopath_alpine + +for isofile in ${isopath_alpine}/alpine-standard*.iso; do + if [ ! -e "$isofile" ]; then break; fi + +submenu "Alpine Linux >" --class alpine { + +for isofile in ${isopath_alpine}/alpine-standard*.iso; do + if [ ! -e "$isofile" ]; then break; fi + + regexp \ + --set 1:isoname \ + --set 2:variant \ + --set 3:version \ + --set 4:arch \ + "^${isopath_alpine}/(alpine-([^-]+)-([^-]+)-([^-]+)\.iso)\$" "${isofile}" + + menuentry "Alpine Linux ${variant} ${version} ${arch}" "${isofile}" "${isoname}" --class alpine { + set isofile=$2 + set isoname=$3 + echo "Using ${isoname}..." + loopback loop $isofile + 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 + } +done + +} + +# kill for loop +break +done diff --git a/boot/isos.cfg.d/bodhi.cfg b/boot/isos.cfg.d/bodhi.cfg new file mode 100644 index 0000000..1a8b4a3 --- /dev/null +++ b/boot/isos.cfg.d/bodhi.cfg @@ -0,0 +1,35 @@ +# Bodhi Linux Grub Config +# NOTE: As of 5.0.0 the "legacy" image can't mount FAT32 (charset error) + +set isopath_bodhi="bodhi" +export isopath_bodhi + +# abuse for to check for existence +for isofile in ${isopath_bodhi}/bodhi-*.iso; do + if [ ! -e "$isofile" ]; then break; fi + +submenu "Bodhi Linux >" --class bodhi { + +for isofile in ${isopath_bodhi}/bodhi-*.iso; do + if [ ! -e "$isofile" ]; then break; fi + + regexp \ + --set 1:isoname \ + --set 2:version \ + --set 3:variant \ + "^${isopath_bodhi}/(bodhi-([^-]+)-(.+)\.iso)\$" "${isofile}" + + menuentry "Bodhi ${version} ${variant}" "${isofile}" "${isoname}" --class bodhi { + set isofile=$2 + set isoname=$3 + echo "Using ${isoname}..." + loopback loop $isofile + linux (loop)/casper/vmlinuz iso-scan/filename=${isofile} file=/cdrom/preseed/custom.seed boot=casper quiet splash + initrd (loop)/casper/initrd* + } +done +} + +# kill for loop +break +done diff --git a/boot/isos.cfg.d/debian.cfg b/boot/isos.cfg.d/debian.cfg new file mode 100644 index 0000000..723164e --- /dev/null +++ b/boot/isos.cfg.d/debian.cfg @@ -0,0 +1,58 @@ +# Debian GNU/Linux Grub config +# from GLIM + +set isopath_debian='debian' +export isopath_debian + +# abuse for to check for existence +for isofile in ${isopath_debian}/debian-*-netinst.iso ${isopath_debian}/debian-live-*.iso; do + if [ ! -e "$isofile" ]; then break; fi + +submenu "Debian GNU/Linux >" --class debian { + +# NetInstall +for isofile in ${isopath_debian}/debian-*-netinst.iso; do + if [ ! -e "$isofile" ]; then break; fi + + regexp \ + --set 1:isoname \ + --set 2:version \ + --set 3:arch \ + --set 4:variant \ + "^${isopath_debian}/(debian-([^-]+)-([^-]+)-([^-]+)\.iso)\$" "${isofile}" + + menuentry "Debian NetInstall ${version} ${arch}" "${isofile}" "${isoname}" --class debian { + set isofile=$2 + set isoname=$3 + echo "Using ${isoname}..." + loopback loop $isofile + linux (loop)/live/vmlinuz-* findiso=${isofile} + initrd (loop)/live/initrd.img-* + } +done + +# Live CD +for isofile in ${isopath_debian}/debian-live-*.iso; do + if [ ! -e "$isofile" ]; then break; fi + + regexp \ + --set 1:isoname \ + --set 2:version \ + --set 3:arch \ + --set 4:variant \ + "^${isopath_debian}/(debian-live-([^-]+)-([^-]+)-([^-]+)\.iso)\$" "${isofile}" + + menuentry "Debian Live ${version} ${arch} ${variant}" "${isofile}" "${isoname}" --class debian { + set isofile=$2 + set isoname=$3 + echo "Using ${isoname}..." + loopback loop $isofile + linux (loop)/live/vmlinuz-* boot=live findiso=${isofile} components + initrd (loop)/live/initrd.img-* + } +done +} + +# kill for loop +break +done diff --git a/boot/isos.cfg.d/fedora.cfg b/boot/isos.cfg.d/fedora.cfg new file mode 100644 index 0000000..ed34979 --- /dev/null +++ b/boot/isos.cfg.d/fedora.cfg @@ -0,0 +1,36 @@ +# Fedora Grub Config + +set isopath_fedora="fedora" +export isopath_fedora + +# abuse for to check for existence +for isofile in ${isopath_fedora}/Fedora-*.iso; do + if [ ! -e "$isofile" ]; then break; fi + +submenu "Fedora >" --class fedora { + +for isofile in ${isopath_fedora}/Fedora-*.iso; do + if [ ! -e "$isofile" ]; then break; fi + + regexp \ + --set 1:isoname \ + --set 2:variant \ + --set 3:arch \ + --set 4:version \ + "^${isopath_fedora}/(Fedora-([^-]+)-Live-([^-]+)-([^-]+)-[^-]+\.iso)\$" "${isofile}" + + menuentry "Fedora ${version} ${arch} ${variant}" "${isofile}" "${isoname}" --class fedora { + set isofile=$2 + set isoname=$3 + echo "Using ${isoname}..." + loopback loop $isofile + probe --set isolabel --label (loop) + linux (loop)/isolinux/vmlinuz root=live:CDLABEL=${isolabel} rd.live.image iso-scan/filename=${isofile} + initrd (loop)/isolinux/initrd.img + } +done +} + +# kill for loop +break +done diff --git a/boot/isos.cfg.d/kali.cfg b/boot/isos.cfg.d/kali.cfg new file mode 100644 index 0000000..24976cb --- /dev/null +++ b/boot/isos.cfg.d/kali.cfg @@ -0,0 +1,43 @@ +# Kali Grub config +# from GLIM + +set isopath_kali="kali" +export isopath_kali + +# abuse for to check for existence +for isofile in $isopath_kali/kali-linux-*.iso; do + +submenu "Kali Linux >" --class kali { + +for isofile in ${isopath_kali}/kali-linux-*.iso; do + if [ ! -e "$isofile" ]; then break; fi + + regexp \ + --set 1:isoname \ + --set 2:version \ + --set 3:arch \ + "^${isopath_kali}/(kali-linux-([^-]+)-([^-]+)\.iso)\$" "${isofile}" + + menuentry "Kali ${version} ${arch}" "${isofile}" "${isoname}" --class kali { + set isofile=$2 + set isoname=$3 + echo "Using ${isoname}..." + loopback loop $isofile + linux (loop)/live/vmlinuz-*-amd64 findiso=${isofile} boot=live components splash username=root hostname=kali + initrd (loop)/live/initrd.img-*-amd64 + } + menuentry "Kali ${version} ${arch} (forensic mode)" "${isofile}" "${isoname}" --class kali { + set isofile=$2 + set isoname=$3 + echo "Using ${isoname}..." + loopback loop $isofile + linux (loop)/live/vmlinuz-*-amd64 findiso=${isofile} boot=live components splash username=root hostname=kali noswap noautomount + initrd (loop)/live/initrd.img-*-amd64 + } +done + +} + +# kill for loop +break +done