You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
115 lines
3.6 KiB
115 lines
3.6 KiB
# 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=alci |
|
timeout=15 |
|
timeout_style=menu |
|
|
|
|
|
# Menu entries |
|
|
|
menuentry "Alci Linux install medium (%ARCH%, ${archiso_platform})" --class arch --class gnu-linux --class gnu --class os --id 'alci' { |
|
set gfxpayload=keep |
|
linux /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux archisobasedir=%INSTALL_DIR% archisodevice=UUID=${ARCHISO_UUID} cow_spacesize=4G copytoram=n |
|
initrd /%INSTALL_DIR%/boot/intel-ucode.img /%INSTALL_DIR%/boot/amd-ucode.img /%INSTALL_DIR%/boot/%ARCH%/initramfs-linux.img |
|
} |
|
|
|
menuentry "Alci Linux install medium with speakup screen reader (%ARCH%, ${archiso_platform})" --hotkey s --class arch --class gnu-linux --class gnu --class os --id 'alci-accessibility' { |
|
set gfxpayload=keep |
|
linux /%INSTALL_DIR%/boot/%ARCH%/vmlinuz-linux archisobasedir=%INSTALL_DIR% archisodevice=UUID=${ARCHISO_UUID} accessibility=on cow_spacesize=4G copytoram=n |
|
initrd /%INSTALL_DIR%/boot/intel-ucode.img /%INSTALL_DIR%/boot/amd-ucode.img /%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 memtest --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 memtest --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' --class efi { |
|
chainloader /shellx64.efi |
|
} |
|
elif [ "${grub_cpu}" == "i386" -a -f '/shellia32.efi' ]; then |
|
menuentry 'UEFI Shell' --class efi { |
|
chainloader /shellia32.efi |
|
} |
|
fi |
|
|
|
menuentry 'UEFI Firmware Settings' --id 'uefi-firmware' { |
|
fwsetup |
|
} |
|
fi |
|
|
|
|
|
menuentry 'System restart' --class reboot --class restart { |
|
echo 'System rebooting...' |
|
reboot |
|
} |
|
|
|
menuentry 'System shutdown' --class shutdown --class poweroff { |
|
echo 'System shutting down...' |
|
halt |
|
} |
|
# GRUB init tune for accessibility |
|
play 600 988 1 1319 4
|
|
|