# 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 insmod all_video insmod font if loadfont "${prefix}/fonts/unicode.pf2" ; then set gfxmode="auto" terminal_input console terminal_output console fi # Enable serial console 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 # Set default menu entry default=archcraft timeout=10 timeout_style=menu # Menu entries menuentry "Boot Archcraft (x86_64, UEFI)" --class archcraft --class arch --class gnu-linux --class gnu --class os --id 'archcraft' { set gfxpayload=keep linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux archisobasedir=%INSTALL_DIR% archisodevice=UUID=${ARCHISO_UUID} quiet splash loglevel=3 udev.log_level=3 vt.global_cursor_default=0 cow_spacesize=5G copytoram=n module_blacklist=pcspkr,snd_pcsp initrd /%INSTALL_DIR%/boot/intel-ucode.img /%INSTALL_DIR%/boot/amd-ucode.img /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img } menuentry "Boot Archcraft (x86_64, UEFI, open source)" --class archcraft --class arch --class gnu-linux --class gnu --class os --id 'archcraftos' { set gfxpayload=keep linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux archisobasedir=%INSTALL_DIR% archisodevice=UUID=${ARCHISO_UUID} quiet splash loglevel=3 udev.log_level=3 vt.global_cursor_default=0 cow_spacesize=5G copytoram=n nouveau.modeset=1 radeon.modeset=1 i915.modeset=1 nvme_load=yes module_blacklist=nvidia,nvidia_modeset,nvidia_uvm,nvidia_drm module_blacklist=pcspkr,snd_pcsp initrd /%INSTALL_DIR%/boot/intel-ucode.img /%INSTALL_DIR%/boot/amd-ucode.img /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img } menuentry "Boot Archcraft (x86_64, UEFI, nvidia)" --class archcraft --class arch --class gnu-linux --class gnu --class os --id 'archcraftpn' { set gfxpayload=keep linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux archisobasedir=%INSTALL_DIR% archisodevice=UUID=${ARCHISO_UUID} quiet splash loglevel=3 udev.log_level=3 vt.global_cursor_default=0 cow_spacesize=5G copytoram=n nvidia_drm.modeset=1 nouveau.modeset=0 module_blacklist=nouveau radeon.modeset=1 i915.modeset=1 nvme_load=yes module_blacklist=pcspkr,snd_pcsp initrd /%INSTALL_DIR%/boot/intel-ucode.img /%INSTALL_DIR%/boot/amd-ucode.img /%INSTALL_DIR%/boot/x86_64/initramfs-linux-nvidia.img } menuentry "Boot Archcraft (x86_64, UEFI, nomodeset)" --class archcraft --class arch --class gnu-linux --class gnu --class os --id 'archcraftnm' { set gfxpayload=keep linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux archisobasedir=%INSTALL_DIR% archisodevice=UUID=${ARCHISO_UUID} quiet splash loglevel=3 udev.log_level=3 vt.global_cursor_default=0 cow_spacesize=5G copytoram=n nomodeset module_blacklist=nvidia,nvidia_modeset,nvidia_uvm,nvidia_drm nouveau.modeset=0 radeon.modeset=0 i915.modeset=0 nvme_load=yes module_blacklist=pcspkr,snd_pcsp initrd /%INSTALL_DIR%/boot/intel-ucode.img /%INSTALL_DIR%/boot/amd-ucode.img /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img } if [ "${grub_platform}" == "efi" ]; then if [ "${grub_cpu}" == "x86_64" ]; then menuentry "UEFI Shell" --class recovery --class efi { insmod chain chainloader /shellx64.efi } elif [ "${grub_cpu}" == "i386" ]; then menuentry "UEFI Shell" --class recovery --class efi { insmod chain chainloader /shellia32.efi } fi menuentry 'UEFI Firmware Settings' --class recovery --id 'uefi-firmware' { fwsetup } fi menuentry "System shutdown" --class shutdown --class poweroff { halt } menuentry "System restart" --class restart --class reboot { reboot }