grub: add arch and nixos menuentries for grub
This commit is contained in:
parent
6b80ed57d0
commit
30594f3d10
3 changed files with 222 additions and 0 deletions
|
@ -56,6 +56,7 @@ profiles:
|
|||
- bluez
|
||||
- fstab
|
||||
- grub
|
||||
- grub_d
|
||||
- iwd
|
||||
- kernel_modules
|
||||
- locale
|
||||
|
@ -138,6 +139,12 @@ dotfiles:
|
|||
actions:
|
||||
- grub_install
|
||||
|
||||
grub_d:
|
||||
src: grub.d
|
||||
dst: /etc/grub.d
|
||||
actions:
|
||||
- grub_install
|
||||
|
||||
pam:
|
||||
src: pam-local-login
|
||||
dst: /etc/pam.d/system-local-login
|
||||
|
|
23
root/grub.d/50_arch
Executable file
23
root/grub.d/50_arch
Executable file
|
@ -0,0 +1,23 @@
|
|||
#!/bin/sh
|
||||
exec tail -n +3 $0
|
||||
# This file provides an easy way to add custom menu entries. Simply type the
|
||||
# menu entries you want to add after this comment. Be careful not to change
|
||||
# the 'exec tail' line above.
|
||||
|
||||
menuentry 'Arch Linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-71dcad6d-3c93-473d-ad60-0cea0d6d379c' {
|
||||
load_video
|
||||
set gfxpayload=keep
|
||||
insmod gzio
|
||||
insmod part_gpt
|
||||
insmod fat
|
||||
set root='hd0,gpt1'
|
||||
if [ x$feature_platform_search_hint = xy ]; then
|
||||
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1 5977-60ED
|
||||
else
|
||||
search --no-floppy --fs-uuid --set=root 5977-60ED
|
||||
fi
|
||||
echo 'Loading Linux linux-zen ...'
|
||||
linux /vmlinuz-linux-zen root=UUID=71dcad6d-3c93-473d-ad60-0cea0d6d379c rw rootflags=subvol=@arch quiet loglevel=3 rd.udev.log_level=3 rd.vconsole.keymap=colemak cryptdevice=/dev/disk/by-label/CRYPTROOT:main root=/dev/disk/by-label/ROOT rootflags=rw,noatime,compress=zstd,subvol=//@arch
|
||||
echo 'Loading initial ramdisk ...'
|
||||
initrd /intel-ucode.img /initramfs-linux-zen.img
|
||||
}
|
192
root/grub.d/50_nixos
Executable file
192
root/grub.d/50_nixos
Executable file
|
@ -0,0 +1,192 @@
|
|||
#!/bin/sh
|
||||
exec tail -n +3 $0
|
||||
# This file provides an easy way to add custom menu entries. Simply type the
|
||||
# menu entries you want to add after this comment. Be careful not to change
|
||||
# the 'exec tail' line above.
|
||||
#
|
||||
# DO NOT EDIT THIS FILE
|
||||
#
|
||||
# It is automatically generated by grub-mkconfig using templates
|
||||
# from /etc/grub.d and settings from /etc/default/grub
|
||||
#
|
||||
|
||||
### BEGIN /etc/grub.d/00_header ###
|
||||
insmod part_gpt
|
||||
insmod part_msdos
|
||||
if [ -s $prefix/grubenv ]; then
|
||||
load_env
|
||||
fi
|
||||
if [ "${next_entry}" ] ; then
|
||||
set default="${next_entry}"
|
||||
set next_entry=
|
||||
save_env next_entry
|
||||
set boot_once=true
|
||||
else
|
||||
set default="0"
|
||||
fi
|
||||
|
||||
if [ x"${feature_menuentry_id}" = xy ]; then
|
||||
menuentry_id_option="--id"
|
||||
else
|
||||
menuentry_id_option=""
|
||||
fi
|
||||
|
||||
export menuentry_id_option
|
||||
|
||||
if [ "${prev_saved_entry}" ]; then
|
||||
set saved_entry="${prev_saved_entry}"
|
||||
save_env saved_entry
|
||||
set prev_saved_entry=
|
||||
save_env prev_saved_entry
|
||||
set boot_once=true
|
||||
fi
|
||||
|
||||
function savedefault {
|
||||
if [ -z "${boot_once}" ]; then
|
||||
saved_entry="${chosen}"
|
||||
save_env saved_entry
|
||||
fi
|
||||
}
|
||||
|
||||
function load_video {
|
||||
if [ x$feature_all_video_module = xy ]; then
|
||||
insmod all_video
|
||||
else
|
||||
insmod efi_gop
|
||||
insmod efi_uga
|
||||
insmod ieee1275_fb
|
||||
insmod vbe
|
||||
insmod vga
|
||||
insmod video_bochs
|
||||
insmod video_cirrus
|
||||
fi
|
||||
}
|
||||
|
||||
terminal_output console
|
||||
if [ x$feature_timeout_style = xy ] ; then
|
||||
set timeout_style=hidden
|
||||
set timeout=1
|
||||
# Fallback hidden-timeout code in case the timeout_style feature is
|
||||
# unavailable.
|
||||
elif sleep --interruptible 1 ; then
|
||||
set timeout=0
|
||||
fi
|
||||
### END /etc/grub.d/00_header ###
|
||||
|
||||
### BEGIN /etc/grub.d/10_linux ###
|
||||
menuentry 'Arch Linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-71dcad6d-3c93-473d-ad60-0cea0d6d379c' {
|
||||
load_video
|
||||
set gfxpayload=keep
|
||||
insmod gzio
|
||||
insmod part_gpt
|
||||
insmod fat
|
||||
set root='hd0,gpt1'
|
||||
if [ x$feature_platform_search_hint = xy ]; then
|
||||
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1 5977-60ED
|
||||
else
|
||||
search --no-floppy --fs-uuid --set=root 5977-60ED
|
||||
fi
|
||||
echo 'Loading Linux linux-zen ...'
|
||||
linux /vmlinuz-linux-zen root=UUID=71dcad6d-3c93-473d-ad60-0cea0d6d379c rw rootflags=subvol=@arch quiet loglevel=3 rd.udev.log_level=3 rd.vconsole.keymap=colemak cryptdevice=/dev/disk/by-label/CRYPTROOT:main root=/dev/disk/by-label/ROOT rootflags=rw,noatime,compress=zstd,subvol=//@arch
|
||||
echo 'Loading initial ramdisk ...'
|
||||
initrd /intel-ucode.img /initramfs-linux-zen.img
|
||||
}
|
||||
submenu 'Advanced options for Arch Linux' $menuentry_id_option 'gnulinux-advanced-71dcad6d-3c93-473d-ad60-0cea0d6d379c' {
|
||||
menuentry 'Arch Linux, with Linux linux-zen' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-zen-advanced-71dcad6d-3c93-473d-ad60-0cea0d6d379c' {
|
||||
load_video
|
||||
set gfxpayload=keep
|
||||
insmod gzio
|
||||
insmod part_gpt
|
||||
insmod fat
|
||||
set root='hd0,gpt1'
|
||||
if [ x$feature_platform_search_hint = xy ]; then
|
||||
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1 5977-60ED
|
||||
else
|
||||
search --no-floppy --fs-uuid --set=root 5977-60ED
|
||||
fi
|
||||
echo 'Loading Linux linux-zen ...'
|
||||
linux /vmlinuz-linux-zen root=UUID=71dcad6d-3c93-473d-ad60-0cea0d6d379c rw rootflags=subvol=@arch quiet loglevel=3 rd.udev.log_level=3 rd.vconsole.keymap=colemak cryptdevice=/dev/disk/by-label/CRYPTROOT:main root=/dev/disk/by-label/ROOT rootflags=rw,noatime,compress=zstd,subvol=//@arch
|
||||
echo 'Loading initial ramdisk ...'
|
||||
initrd /intel-ucode.img /initramfs-linux-zen.img
|
||||
}
|
||||
menuentry 'Arch Linux, with Linux linux-zen (fallback initramfs)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-zen-fallback-71dcad6d-3c93-473d-ad60-0cea0d6d379c' {
|
||||
load_video
|
||||
set gfxpayload=keep
|
||||
insmod gzio
|
||||
insmod part_gpt
|
||||
insmod fat
|
||||
set root='hd0,gpt1'
|
||||
if [ x$feature_platform_search_hint = xy ]; then
|
||||
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1 5977-60ED
|
||||
else
|
||||
search --no-floppy --fs-uuid --set=root 5977-60ED
|
||||
fi
|
||||
echo 'Loading Linux linux-zen ...'
|
||||
linux /vmlinuz-linux-zen root=UUID=71dcad6d-3c93-473d-ad60-0cea0d6d379c rw rootflags=subvol=@arch quiet loglevel=3 rd.udev.log_level=3 rd.vconsole.keymap=colemak cryptdevice=/dev/disk/by-label/CRYPTROOT:main root=/dev/disk/by-label/ROOT rootflags=rw,noatime,compress=zstd,subvol=//@arch
|
||||
echo 'Loading initial ramdisk ...'
|
||||
initrd /intel-ucode.img /initramfs-linux-zen-fallback.img
|
||||
}
|
||||
menuentry 'Arch Linux, with Linux 5.15.32_1' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.32_1-advanced-71dcad6d-3c93-473d-ad60-0cea0d6d379c' {
|
||||
load_video
|
||||
set gfxpayload=keep
|
||||
insmod gzio
|
||||
insmod part_gpt
|
||||
insmod fat
|
||||
set root='hd0,gpt1'
|
||||
if [ x$feature_platform_search_hint = xy ]; then
|
||||
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1 5977-60ED
|
||||
else
|
||||
search --no-floppy --fs-uuid --set=root 5977-60ED
|
||||
fi
|
||||
echo 'Loading Linux 5.15.32_1 ...'
|
||||
linux /vmlinuz-5.15.32_1 root=UUID=71dcad6d-3c93-473d-ad60-0cea0d6d379c rw rootflags=subvol=@arch quiet loglevel=3 rd.udev.log_level=3 rd.vconsole.keymap=colemak cryptdevice=/dev/disk/by-label/CRYPTROOT:main root=/dev/disk/by-label/ROOT rootflags=rw,noatime,compress=zstd,subvol=//@arch
|
||||
echo 'Loading initial ramdisk ...'
|
||||
initrd /intel-ucode.img /initramfs-5.15.32_1.img
|
||||
}
|
||||
menuentry 'Arch Linux, with Linux 5.15.30_1' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.30_1-advanced-71dcad6d-3c93-473d-ad60-0cea0d6d379c' {
|
||||
load_video
|
||||
set gfxpayload=keep
|
||||
insmod gzio
|
||||
insmod part_gpt
|
||||
insmod fat
|
||||
set root='hd0,gpt1'
|
||||
if [ x$feature_platform_search_hint = xy ]; then
|
||||
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1 5977-60ED
|
||||
else
|
||||
search --no-floppy --fs-uuid --set=root 5977-60ED
|
||||
fi
|
||||
echo 'Loading Linux 5.15.30_1 ...'
|
||||
linux /vmlinuz-5.15.30_1 root=UUID=71dcad6d-3c93-473d-ad60-0cea0d6d379c rw rootflags=subvol=@arch quiet loglevel=3 rd.udev.log_level=3 rd.vconsole.keymap=colemak cryptdevice=/dev/disk/by-label/CRYPTROOT:main root=/dev/disk/by-label/ROOT rootflags=rw,noatime,compress=zstd,subvol=//@arch
|
||||
echo 'Loading initial ramdisk ...'
|
||||
initrd /intel-ucode.img /initramfs-5.15.30_1.img
|
||||
}
|
||||
}
|
||||
|
||||
### END /etc/grub.d/10_linux ###
|
||||
|
||||
### BEGIN /etc/grub.d/20_linux_xen ###
|
||||
|
||||
### END /etc/grub.d/20_linux_xen ###
|
||||
|
||||
### BEGIN /etc/grub.d/30_os-prober ###
|
||||
### END /etc/grub.d/30_os-prober ###
|
||||
|
||||
### BEGIN /etc/grub.d/30_uefi-firmware ###
|
||||
menuentry 'UEFI Firmware Settings' $menuentry_id_option 'uefi-firmware' {
|
||||
fwsetup
|
||||
}
|
||||
### END /etc/grub.d/30_uefi-firmware ###
|
||||
|
||||
### BEGIN /etc/grub.d/40_custom ###
|
||||
# This file provides an easy way to add custom menu entries. Simply type the
|
||||
# menu entries you want to add after this comment. Be careful not to change
|
||||
# the 'exec tail' line above.
|
||||
### END /etc/grub.d/40_custom ###
|
||||
|
||||
### BEGIN /etc/grub.d/41_custom ###
|
||||
if [ -f ${config_directory}/custom.cfg ]; then
|
||||
source ${config_directory}/custom.cfg
|
||||
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
|
||||
source $prefix/custom.cfg
|
||||
fi
|
||||
### END /etc/grub.d/41_custom ###
|
Reference in a new issue