106 lines
2.9 KiB
INI
106 lines
2.9 KiB
INI
# Load partition table and file system modules
|
|
insmod part_gpt
|
|
insmod part_msdos
|
|
insmod fat
|
|
insmod iso9660
|
|
insmod ntfs
|
|
insmod ntfscomp
|
|
insmod exfat
|
|
insmod udf
|
|
|
|
# Use graphics-mode output
|
|
if loadfont "${prefix}/fonts/unicode.pf2" ; then
|
|
insmod all_video
|
|
set gfxmode="auto"
|
|
terminal_input console
|
|
terminal_output console
|
|
fi
|
|
|
|
# Enable serial console
|
|
insmod serial
|
|
insmod usbserial_common
|
|
insmod usbserial_ftdi
|
|
insmod usbserial_pl2303
|
|
insmod usbserial_usbdebug
|
|
if serial --unit=0 --speed=115200; then
|
|
terminal_input --append serial
|
|
terminal_output --append serial
|
|
fi
|
|
|
|
# Search for the ISO volume
|
|
if [ -z "${ARCHISO_UUID}" ]; then
|
|
if [ -z "${ARCHISO_HINT}" ]; then
|
|
regexp --set=1:ARCHISO_HINT '^\(([^)]+)\)' "${cmdpath}"
|
|
fi
|
|
search --no-floppy --set=root --file '%ARCHISO_SEARCH_FILENAME%' --hint "${ARCHISO_HINT}"
|
|
probe --set ARCHISO_UUID --fs-uuid "${root}"
|
|
fi
|
|
|
|
# Get a human readable platform identifier
|
|
if [ "${grub_platform}" == 'efi' ]; then
|
|
archiso_platform='UEFI'
|
|
if [ "${grub_cpu}" == 'x86_64' ]; then
|
|
archiso_platform="x64 ${archiso_platform}"
|
|
elif [ "${grub_cpu}" == 'i386' ]; then
|
|
archiso_platform="IA32 ${archiso_platform}"
|
|
else
|
|
archiso_platform="${grub_cpu} ${archiso_platform}"
|
|
fi
|
|
elif [ "${grub_platform}" == 'pc' ]; then
|
|
archiso_platform='BIOS'
|
|
else
|
|
archiso_platform="${grub_cpu} ${grub_platform}"
|
|
fi
|
|
|
|
# Set default menu entry
|
|
default=archlinux
|
|
timeout=15
|
|
timeout_style=menu
|
|
|
|
|
|
# Menu entries
|
|
|
|
menuentry "Airgap Arch Linux (%ARCH%, ${archiso_platform})" --class arch --class gnu-linux --class gnu --class os --id 'archlinux' {
|
|
set gfxpayload=keep
|
|
linux /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux archisobasedir=%INSTALL_DIR% archisodevice=UUID=${ARCHISO_UUID}
|
|
initrd /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux.img
|
|
}
|
|
|
|
if [ "${grub_platform}" == 'efi' -a "${grub_cpu}" == 'x86_64' -a -f '/boot/memtest86+/memtest.efi' ]; then
|
|
menuentry 'Run Memtest86+ (RAM test)' --class memtest86 --class gnu --class tool {
|
|
set gfxpayload=800x600,1024x768
|
|
linux /boot/memtest86+/memtest.efi
|
|
}
|
|
fi
|
|
if [ "${grub_platform}" == 'pc' -a -f '/boot/memtest86+/memtest' ]; then
|
|
menuentry 'Run Memtest86+ (RAM test)' --class memtest86 --class gnu --class tool {
|
|
set gfxpayload=800x600,1024x768
|
|
linux /boot/memtest86+/memtest
|
|
}
|
|
fi
|
|
if [ "${grub_platform}" == 'efi' ]; then
|
|
if [ "${grub_cpu}" == 'x86_64' -a -f '/shellx64.efi' ]; then
|
|
menuentry 'UEFI Shell' {
|
|
chainloader /shellx64.efi
|
|
}
|
|
elif [ "${grub_cpu}" == "i386" -a -f '/shellia32.efi' ]; then
|
|
menuentry 'UEFI Shell' {
|
|
chainloader /shellia32.efi
|
|
}
|
|
fi
|
|
|
|
menuentry 'UEFI Firmware Settings' --id 'uefi-firmware' {
|
|
fwsetup
|
|
}
|
|
fi
|
|
|
|
menuentry 'System shutdown' --class shutdown --class poweroff {
|
|
echo 'System shutting down...'
|
|
halt
|
|
}
|
|
|
|
menuentry 'System restart' --class reboot --class restart {
|
|
echo 'System rebooting...'
|
|
reboot
|
|
}
|