Linux Boot Loader/GRUB2: Difference between revisions
Jump to navigation
Jump to search
Created page with "{{hc|${BOOT}/grub/grub.cfg|2=<nowiki> insmod part_<gpt|msdos> insmod <btrfs|ext4|f2fs|fat32|jfs|ntfs|xfs|zfs> insmod gettext search --no-floppy --set=root --label <Boot_Files..." |
m Added config for boot tools, reboot, and shutdown |
||
Line 77: | Line 77: | ||
} | } | ||
if [ | if [ ${grub_platform} == "efi" ]; then | ||
menuentry | menuentry 'UEFI Firmware Settings' --id 'uefi-firmware' { | ||
fwsetup | |||
} | } | ||
if [ ${grub_cpu} == x86_64 ]; then | |||
if [ -e /EFI/tools/fwupdx64.efi ]; then | |||
menuentry 'Firmware Update' --id 'uefi-update' { | |||
insmod chain | |||
search --no-floppy --set=root --file /EFI/tools/fwupdx64.efi | |||
chainloader /EFI/tools/fwupdx64.efi | |||
} | |||
fi | |||
if [ -e /shellx64.efi ]; then | |||
menuentry 'UEFI Shell' --id 'uefi-shell' { | |||
insmod chain | |||
search --no-floppy --set=root --file /shellx64.efi | |||
chainloader /shellx64.efi | |||
} | |||
fi | |||
if [ -e /memtest86/bootx64.efi ]; then | |||
menuentry 'MemTest86' --id 'memtest' { | |||
insmod chain | |||
search --no-floppy --set=root --file /memtest86/bootx64.efi | |||
chainloader /memtest86/bootx64.efi | |||
} | |||
fi | |||
elif [ ${grub_cpu} == i386 ]; then | |||
if [ -e /EFI/tools/fwupdia32.efi ]; then | |||
menuentry 'UEFI Firmware Settings' --id 'uefi-update' { | |||
insmod chain | |||
search --no-floppy --set=root --file /EFI/tools/fwupdia32.efi | |||
chainloader /EFI/tools/fwupdia32.efi | |||
} | |||
fi | |||
if [ -e /shellia32.efi ]; then | |||
menuentry 'UEFI Shell' --id 'uefi-shell' { | |||
insmod chain | |||
search --no-floppy --set=root --file /shellia32.efi | |||
chainloader /shellia32.efi | |||
} | |||
fi | |||
if [ -e /memtest86/bootia32.efi ]; then | |||
menuentry 'MemTest86' --id 'memtest' { | |||
insmod chain | |||
search --no-floppy --set=root --file /memtest86/bootia32.efi | |||
chainloader /memtest86/bootia32.efi | |||
} | |||
fi | |||
fi | |||
elif [ ${grub_platform} == "pc" ]; then | |||
if [ -e /memtest86+/memtest.bin ]; then | |||
menuentry "Memtest86+" { | |||
linux16 /memtest86+/memtest.bin | |||
} | |||
elif [ -e /boot/memtest86+/memtest.bin ]; then | |||
menuentry "Memtest86+" { | |||
linux16 /boot/memtest86+/memtest.bin | |||
} | |||
fi | |||
fi | fi | ||
menuentry "System restart" { | |||
echo 'System rebooting...' | |||
reboot | |||
} | |||
menuentry "System shutdown" { | |||
echo 'System shutting down...' | |||
halt | |||
} | |||
</nowiki>}} | </nowiki>}} |
Latest revision as of 14:38, 19 October 2021
${BOOT}/grub/grub.cfg
insmod part_<gpt|msdos> insmod <btrfs|ext4|f2fs|fat32|jfs|ntfs|xfs|zfs> insmod gettext search --no-floppy --set=root --label <Boot_Filesystem_Label> loadfont "/grub/fonts/unicode.pf2" terminal_input console terminal_output console function set_resolutions { for resolution in 1920x1080 1680x1050 1440x900 1368x768 1366x768 1360x768 1280x720 1280x1024 1024x600 1024x768 800x480 800x600 640x480; do for colordepth in 32 16 8; do modes=${modes}${resolution}x${colordepth}, done done modes=${modes}auto } function load_gfxterm { insmod all_video insmod gfxterm set gfxpayload=keep set_resolutions set gfxmode=${modes} terminal_output gfxterm } function load_theme { insmod png load_gfxterm set theme=/grub/themes/<theme-name>/theme.txt } set timeout=2 set default=0 menuentry 'Arch Linux (default)' --class desktop { echo 'Loading kernel...' linux /arch/boot/vmlinuz-linux-zen root=LABEL=<Root_Filesystem_Label> rootfs=<fs-type> rootflags=noatime,compress-force=zstd,subvol=arch rw consoleblank=0 nvidia-drm.modeset=1 quiet splash loglevel=3 rd.udev.log_priority=3 rd.systemd.show_status=auto vt.global_cursor_default=0 echo 'Loading initramfs...' initrd /arch/boot/initramfs-linux-zen.img load_gfxterm } menuentry 'Arch Linux (verbose)' --class desktop { echo 'Loading kernel...' linux /arch/boot/vmlinuz-linux-zen root=LABEL=<Root_Filesystem_Label> rootfs=<fs-type> rootflags=noatime,compress-force=zstd,subvol=arch rw consoleblank=0 nvidia-drm.modeset=1 echo 'Loading initramfs...' initrd /arch/boot/initramfs-linux-zen.img load_gfxterm } menuentry 'Arch Linux (fallback)' --class desktop { echo 'Loading kernel...' linux /arch/boot/vmlinuz-linux-zen root=LABEL=<Root_Filesystem_Label> rootfs=<fs-type> rootflags=noatime,compress-force=zstd,subvol=arch rw consoleblank=0 nvidia-drm.modeset=1 echo 'Loading initramfs...' initrd /arch/boot/initramfs-linux-zen-fallback.img load_gxfterm } menuentry 'Arch Linux (console)' --class desktop { echo 'Loading kernel...' linux /arch/boot/vmlinuz-linux-zen root=LABEL=<Root_Filesystem_Label> rootfs=<fs-type> rootflags=noatime,compress-force=zstd,subvol=arch rw consoleblank=0 nvidia-drm.modeset=1 systemd.unit=multi-user.target echo 'Loading initramfs...' initrd /arch/boot/initramfs-linux-zen-fallback.img load_gfxterm } menuentry 'Arch Linux (rescue)' --class desktop { echo 'Loading kernel...' linux /arch/boot/vmlinuz-linux-zen root=LABEL=<Root_Filesystem_Label> rootfs=<fs-type> rootflags=noatime,compress-force=zstd,subvol=arch rw consoleblank=0 nvidia-drm.modeset=1 systemd.unit=rescue.target echo 'Loading initramfs...' initrd /arch/boot/initramfs-linux-zen-fallback.img load_gfxterm } if [ ${grub_platform} == "efi" ]; then menuentry 'UEFI Firmware Settings' --id 'uefi-firmware' { fwsetup } if [ ${grub_cpu} == x86_64 ]; then if [ -e /EFI/tools/fwupdx64.efi ]; then menuentry 'Firmware Update' --id 'uefi-update' { insmod chain search --no-floppy --set=root --file /EFI/tools/fwupdx64.efi chainloader /EFI/tools/fwupdx64.efi } fi if [ -e /shellx64.efi ]; then menuentry 'UEFI Shell' --id 'uefi-shell' { insmod chain search --no-floppy --set=root --file /shellx64.efi chainloader /shellx64.efi } fi if [ -e /memtest86/bootx64.efi ]; then menuentry 'MemTest86' --id 'memtest' { insmod chain search --no-floppy --set=root --file /memtest86/bootx64.efi chainloader /memtest86/bootx64.efi } fi elif [ ${grub_cpu} == i386 ]; then if [ -e /EFI/tools/fwupdia32.efi ]; then menuentry 'UEFI Firmware Settings' --id 'uefi-update' { insmod chain search --no-floppy --set=root --file /EFI/tools/fwupdia32.efi chainloader /EFI/tools/fwupdia32.efi } fi if [ -e /shellia32.efi ]; then menuentry 'UEFI Shell' --id 'uefi-shell' { insmod chain search --no-floppy --set=root --file /shellia32.efi chainloader /shellia32.efi } fi if [ -e /memtest86/bootia32.efi ]; then menuentry 'MemTest86' --id 'memtest' { insmod chain search --no-floppy --set=root --file /memtest86/bootia32.efi chainloader /memtest86/bootia32.efi } fi fi elif [ ${grub_platform} == "pc" ]; then if [ -e /memtest86+/memtest.bin ]; then menuentry "Memtest86+" { linux16 /memtest86+/memtest.bin } elif [ -e /boot/memtest86+/memtest.bin ]; then menuentry "Memtest86+" { linux16 /boot/memtest86+/memtest.bin } fi fi menuentry "System restart" { echo 'System rebooting...' reboot } menuentry "System shutdown" { echo 'System shutting down...' halt }