diff --git a/grub/grub.cfg b/grub/grub.cfg new file mode 100644 index 0000000..fa8e817 --- /dev/null +++ b/grub/grub.cfg @@ -0,0 +1,75 @@ +# Load partition table and file system modules +insmod part_gpt +insmod part_msdos +insmod fat +insmod iso9660 + +# Use graphics-mode output +insmod all_video +insmod font +if loadfont "${prefix}/fonts/unicode.pf2" ; then + insmod gfxterm + set gfxmode="auto" + terminal_input console + terminal_output gfxterm +fi + +# Enable serial console +if serial --unit=0 --speed=115200; then + terminal_input --append serial + terminal_output --append serial +fi + +# Set default menu entry +default=archlinux +timeout=15 +timeout_style=menu + +# GRUB init tune for accessibility +play 600 988 1 1319 4 + +# Menu entries + +menuentry "Arch Linux install medium (x86_64, UEFI)" --class arch --class gnu-linux --class gnu --class os --id 'archlinux' { + set gfxpayload=keep + search --no-floppy --set=root --label %ARCHISO_LABEL% + linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% cow_spacesize=1G + initrd /%INSTALL_DIR%/boot/intel-ucode.img /%INSTALL_DIR%/boot/amd-ucode.img /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img +} + +menuentry "Arch Linux install medium with speakup screen reader (x86_64, UEFI)" --hotkey s --class arch --class gnu-linux --class gnu --class os --id 'archlinux-accessibility' { + set gfxpayload=keep + search --no-floppy --set=root --label %ARCHISO_LABEL% + linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% cow_spacesize=1G accessibility=on + 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" { + insmod chain + search --no-floppy --set=root --label %ARCHISO_LABEL% + chainloader /shellx64.efi + } + elif [ "${grub_cpu}" == "i386" ]; then + menuentry "UEFI Shell" { + insmod chain + search --no-floppy --set=root --label %ARCHISO_LABEL% + 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 +} diff --git a/kde/grub b/kde/grub new file mode 120000 index 0000000..c807ca0 --- /dev/null +++ b/kde/grub @@ -0,0 +1 @@ +../grub \ No newline at end of file diff --git a/kde/packages.x86_64 b/kde/packages.x86_64 index a1956c6..4308cf3 100644 --- a/kde/packages.x86_64 +++ b/kde/packages.x86_64 @@ -140,4 +140,5 @@ plasma-nm firefox firefox-i18n-en-us firefox-i18n-ru -gparted \ No newline at end of file +gparted +grub diff --git a/kde/profiledef.sh b/kde/profiledef.sh index 93373ed..74112ec 100644 --- a/kde/profiledef.sh +++ b/kde/profiledef.sh @@ -8,7 +8,9 @@ iso_application="Arch Linux Live/Rescue CD" iso_version="$(date +%Y.%m.%d)" install_dir="arch" buildmodes=('iso') -bootmodes=('bios.syslinux.mbr' 'bios.syslinux.eltorito' 'uefi-x64.systemd-boot.esp' 'uefi-x64.systemd-boot.eltorito') +bootmodes=('bios.syslinux.mbr' 'bios.syslinux.eltorito' + 'uefi-ia32.grub.esp' 'uefi-x64.grub.esp' + 'uefi-ia32.grub.eltorito' 'uefi-x64.grub.eltorito') arch="x86_64" pacman_conf="pacman.conf" airootfs_image_type="squashfs" diff --git a/nox/grub b/nox/grub new file mode 120000 index 0000000..c807ca0 --- /dev/null +++ b/nox/grub @@ -0,0 +1 @@ +../grub \ No newline at end of file diff --git a/nox/packages.x86_64 b/nox/packages.x86_64 index bf16df1..8fe5a1c 100644 --- a/nox/packages.x86_64 +++ b/nox/packages.x86_64 @@ -119,3 +119,4 @@ zsh linux-headers zfs-dkms ncdu +grub diff --git a/nox/profiledef.sh b/nox/profiledef.sh index b8163aa..4fd2fb2 100644 --- a/nox/profiledef.sh +++ b/nox/profiledef.sh @@ -8,7 +8,9 @@ iso_application="Arch Linux Live/Rescue CD" iso_version="$(date +%Y.%m.%d)" install_dir="arch" buildmodes=('iso') -bootmodes=('bios.syslinux.mbr' 'bios.syslinux.eltorito' 'uefi-x64.systemd-boot.esp' 'uefi-x64.systemd-boot.eltorito') +bootmodes=('bios.syslinux.mbr' 'bios.syslinux.eltorito' + 'uefi-ia32.grub.esp' 'uefi-x64.grub.esp' + 'uefi-ia32.grub.eltorito' 'uefi-x64.grub.eltorito') arch="x86_64" pacman_conf="pacman.conf" airootfs_image_type="squashfs"