Skip to content

refind-genconf makes it easier to generate rEFInd configurations for multiple kernels

License

Notifications You must be signed in to change notification settings

b0o/refind-genconf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

refind-genconf version license: gpl-3.0-or-later

refind-genconf makes it easier to generate rEFInd configurations for multiple kernels

Install

TODO

Usage

usage: refind-genconf [opts] [kernel ..]

Options:

  -h            Print this help message.
  -c <config>   Use <config> file to configure refind-genconf (wow such config).
  -x            Print the default configuration file.
  -X            Print an example configuration file.

refind-genconf generates refind configuration files

Configuration

# Example configuration for refind-genconf
# Make sure you edit this file to reflect your actual setup!

# Path to the boot partition mount point.
# Default:
# boot="/boot"

# Title of the main refind linux menu. If not specified, it will be autodetected via lsb_release.
# menu_title="Arch Linux"

# Configuration directives to be placed at the outermost level of the refind config file.
# Default:
# conf_outer=()
conf_outer=(
  "include /EFI/refind/themes/refind-ambience/theme.conf"
  "icons_dir /EFI/refind/themes/refind-ambience/icons"
  "scan_all_linux_kernels false"
  "timeout 20"
  "screensaver 300"
)

# Configuration directives to be placed within the main refind linux menu
# Default:
# conf_inner=()
conf_inner=(
  "icon /EFI/refind/themes/refind-ambience/icons/os_arch.png"
  'volume "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"'
)

# The different boot types for which you would like to generate boot submenu entries.
# Boot type names should match the regular expression [a-zA-Z0-9_]+. The boot type "all" is reserved.
# Default:
# boot_types=("basic" "fallback")
boot_types=(
  "apparmor"
  "basic"
  "minimal"
  "fallback"
)

# Manually specify for which kernels boot entries should be generated.
# If this array is empty, all installed kernels will have boot entries generated for them.
kernels=("linux-clear-bin" "linux-ck-zen" "linux-zen" "linux")

# The default kernel to use.
# Default:
# default_kernel="linux"
default_kernel="linux-ck-zen"

# The default boot type to use.
# Default:
# default_type="basic"
default_type="apparmor"

# Kernel parameters to pass for all boot types.
# Default:
# params_all=()
params_all=(
  "ro"
  "rd.luks.uuid=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  "rd.luks.name=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx=system"
  "root=/dev/mapper/system"
  "rootflags=subvol=@"
)

# To define kernel parameters specific to a given boot type, define an array
# named params_${boot_type}, e.g. params_basic.

# Kernel parameters to pass for the 'basic' boot type.
params_basic=(
  "splash"
  "quiet"
  "consoleblank=60"
  "fbcon=scrollback:256k"
  "initrd=\amd-ucode.img"
)

# Kernel parameters to pass for the 'apparmor' boot type.
params_apparmor=(
  "${params_basic[@]}"
  "apparmor=1"
  "security=apparmor"
)

# Kernel parameters to pass for the 'minimal' boot type.
params_minimal=(
  "nosplash"
)

# Kernel parameters to pass for the 'fallback' boot type.
params_fallback=(
  "${params_minimal[@]}"
)

# Character to use for indentation, either a tab or a space.
# Default:
# indent_char=" "

# Number of indent characters per indent level.
# Default:
# indent_size=2

The preceding example produces the following rEFInd configuration:

# NOTE: This file was auto-generated by refind-genconf. Do not edit directly.

include /EFI/refind/themes/refind-ambience/theme.conf
icons_dir /EFI/refind/themes/refind-ambience/icons
scan_all_linux_kernels false
timeout 20
screensaver 300

menuentry "Arch Linux" {
  ostype "Linux"
  icon /EFI/refind/themes/refind-ambience/icons/os_arch.png
  volume "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"

  # Default: linux-ck-zen (apparmor)
  loader  /vmlinuz-linux-ck-zen
  options "initrd=\initramfs-linux-ck-zen.img splash quiet consoleblank=60 fbcon=scrollback:256k initrd=\amd-ucode.img apparmor=1 security=apparmor ro rd.luks.uuid=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx rd.luks.name=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx=system root=/dev/mapper/system rootflags=subvol=@"

  # linux-clear-bin {{{

  submenuentry "linux-clear-bin (apparmor)" {
    loader  /vmlinuz-linux-clear-bin
    options "initrd=\initramfs-linux-clear-bin.img splash quiet consoleblank=60 fbcon=scrollback:256k initrd=\amd-ucode.img apparmor=1 security=apparmor ro rd.luks.uuid=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx rd.luks.name=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx=system root=/dev/mapper/system rootflags=subvol=@"
  }

  submenuentry "linux-clear-bin (basic)" {
    loader  /vmlinuz-linux-clear-bin
    options "initrd=\initramfs-linux-clear-bin.img splash quiet consoleblank=60 fbcon=scrollback:256k initrd=\amd-ucode.img ro rd.luks.uuid=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx rd.luks.name=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx=system root=/dev/mapper/system rootflags=subvol=@"
  }

  submenuentry "linux-clear-bin (minimal)" {
    loader  /vmlinuz-linux-clear-bin
    options "initrd=\initramfs-linux-clear-bin.img nosplash ro rd.luks.uuid=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx rd.luks.name=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx=system root=/dev/mapper/system rootflags=subvol=@"
  }

  submenuentry "linux-clear-bin (fallback)" {
    loader  /vmlinuz-linux-clear-bin
    options "initrd=\initramfs-linux-clear-bin-fallback.img nosplash ro rd.luks.uuid=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx rd.luks.name=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx=system root=/dev/mapper/system rootflags=subvol=@"
  }

  # }}}

  # linux-ck-zen {{{

  submenuentry "linux-ck-zen (apparmor)" {
    loader  /vmlinuz-linux-ck-zen
    options "initrd=\initramfs-linux-ck-zen.img splash quiet consoleblank=60 fbcon=scrollback:256k initrd=\amd-ucode.img apparmor=1 security=apparmor ro rd.luks.uuid=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx rd.luks.name=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx=system root=/dev/mapper/system rootflags=subvol=@"
  }

  submenuentry "linux-ck-zen (basic)" {
    loader  /vmlinuz-linux-ck-zen
    options "initrd=\initramfs-linux-ck-zen.img splash quiet consoleblank=60 fbcon=scrollback:256k initrd=\amd-ucode.img ro rd.luks.uuid=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx rd.luks.name=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx=system root=/dev/mapper/system rootflags=subvol=@"
  }

  submenuentry "linux-ck-zen (minimal)" {
    loader  /vmlinuz-linux-ck-zen
    options "initrd=\initramfs-linux-ck-zen.img nosplash ro rd.luks.uuid=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx rd.luks.name=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx=system root=/dev/mapper/system rootflags=subvol=@"
  }

  submenuentry "linux-ck-zen (fallback)" {
    loader  /vmlinuz-linux-ck-zen
    options "initrd=\initramfs-linux-ck-zen-fallback.img nosplash ro rd.luks.uuid=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx rd.luks.name=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx=system root=/dev/mapper/system rootflags=subvol=@"
  }

  # }}}

  # linux-zen {{{

  submenuentry "linux-zen (apparmor)" {
    loader  /vmlinuz-linux-zen
    options "initrd=\initramfs-linux-zen.img splash quiet consoleblank=60 fbcon=scrollback:256k initrd=\amd-ucode.img apparmor=1 security=apparmor ro rd.luks.uuid=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx rd.luks.name=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx=system root=/dev/mapper/system rootflags=subvol=@"
  }

  submenuentry "linux-zen (basic)" {
    loader  /vmlinuz-linux-zen
    options "initrd=\initramfs-linux-zen.img splash quiet consoleblank=60 fbcon=scrollback:256k initrd=\amd-ucode.img ro rd.luks.uuid=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx rd.luks.name=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx=system root=/dev/mapper/system rootflags=subvol=@"
  }

  submenuentry "linux-zen (minimal)" {
    loader  /vmlinuz-linux-zen
    options "initrd=\initramfs-linux-zen.img nosplash ro rd.luks.uuid=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx rd.luks.name=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx=system root=/dev/mapper/system rootflags=subvol=@"
  }

  submenuentry "linux-zen (fallback)" {
    loader  /vmlinuz-linux-zen
    options "initrd=\initramfs-linux-zen-fallback.img nosplash ro rd.luks.uuid=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx rd.luks.name=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx=system root=/dev/mapper/system rootflags=subvol=@"
  }

  # }}}

  # linux {{{

  submenuentry "linux (apparmor)" {
    loader  /vmlinuz-linux
    options "initrd=\initramfs-linux.img splash quiet consoleblank=60 fbcon=scrollback:256k initrd=\amd-ucode.img apparmor=1 security=apparmor ro rd.luks.uuid=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx rd.luks.name=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx=system root=/dev/mapper/system rootflags=subvol=@"
  }

  submenuentry "linux (basic)" {
    loader  /vmlinuz-linux
    options "initrd=\initramfs-linux.img splash quiet consoleblank=60 fbcon=scrollback:256k initrd=\amd-ucode.img ro rd.luks.uuid=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx rd.luks.name=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx=system root=/dev/mapper/system rootflags=subvol=@"
  }

  submenuentry "linux (minimal)" {
    loader  /vmlinuz-linux
    options "initrd=\initramfs-linux.img nosplash ro rd.luks.uuid=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx rd.luks.name=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx=system root=/dev/mapper/system rootflags=subvol=@"
  }

  submenuentry "linux (fallback)" {
    loader  /vmlinuz-linux
    options "initrd=\initramfs-linux-fallback.img nosplash ro rd.luks.uuid=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx rd.luks.name=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx=system root=/dev/mapper/system rootflags=subvol=@"
  }

  # }}}
}

# vim:set fdm=marker fdl=2 ft=conf sw=2 sts=2 et:

License

© 2020-2021 Maddison Hellstrom

Released under the GNU General Public License, version 3.0 or later.

About

refind-genconf makes it easier to generate rEFInd configurations for multiple kernels

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Languages