grubby/boot/isos.cfg.d/archlinux.cfg

51 lines
1.3 KiB
INI

# This is the ArchLinux Grub config
# from GLIM
set isopath_archlinux="${isopath}/archlinux"
export isopath_archlinux
# abuse for to check for existence
for isofile in $isopath_archlinux/archlinux*.iso $isopath_archlinux/ipxe*; do
if [ ! -e "$isofile" ]; then break; fi
submenu "ArchLinux >" --class arch {
menuentry "ArchLinux BIOS netboot" --class arch {
echo "Booting ArchLinux BIOS netboot"
linux16 $isopath_archlinux/ipxe.419cd003a298.lkrn
}
if [ ${grub_platform} == "efi" ]; then
menuentry "ArchLinux EFI netboot" --class arch {
echo "Booting ArchLinux EFI netboot"
chainloader $isopath_archlinux/ipxe.176077d7fccb.efi
}
fi
menuentry "" { true }
for isofile in $isopath_archlinux/archlinux-*.iso; do
if [ ! -e "$isofile" ]; then break; fi
regexp \
--set 1:isoname \
--set 2:version \
--set 3:arch \
"^${isopath_archlinux}/(archlinux-([^-]+)-([^-]+)\.iso)\$" "${isofile}"
menuentry "Arch Linux ${version} ${arch}" "${isofile}" "${isoname}" --class arch {
set isofile=$2
set isoname=$3
echo "Using ${isoname}..."
loopback 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
}
done
}
# kill for loop
break
done