71 lines
1.2 KiB
INI
71 lines
1.2 KiB
INI
# Load ISO configuration files
|
|
#
|
|
insmod regexp
|
|
|
|
set isoconfdir="${isoconfig}.d"
|
|
export isoconfdir
|
|
|
|
if [ ! -d "${isoconfdir}" ]; then
|
|
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
|
|
if [ ! -f "$conf" ]; then
|
|
echo "No valid configuration to read"
|
|
break;
|
|
fi
|
|
|
|
#echo "Sourcing $conf "
|
|
source "${conf}"
|
|
done
|
|
|
|
sleep 1
|
|
done
|
|
|
|
# let the echos be readable
|
|
echo "Waiting for 5 seconds..."
|
|
sleep 5
|
|
|
|
menuentry ' ' { true }
|
|
|
|
menuentry "[Esc] Back to Menu" {
|
|
configfile "${prefix}/grub.cfg"
|
|
}
|