Difference between revisions of "Systemd-boot"
From Manjaro
Views
Actions
Namespaces
Variants
Tools
(Add man page as pointed out by papajoke on the forums) |
(Marked this version for translation) |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
<languages/> | |||
__TOC__ | |||
<translate> | |||
<!--T:1--> | |||
{{DISPLAYTITLE:systemd-boot}} | {{DISPLAYTITLE:systemd-boot}} | ||
<!--T:2--> | |||
systemd-boot is an alternative to other bootloaders such as GRUB. | systemd-boot is an alternative to other bootloaders such as GRUB. | ||
== Configuration == <!--T:3--> | |||
== Configuration == | |||
=== Customizing entries === | === Customizing entries === <!--T:4--> | ||
<!--T:5--> | |||
The entries in the bootloader are automatically generated using sdboot-manage. The generated entries can be customized by editing <tt>/etc/sdboot-manage.conf</tt>. | The entries in the bootloader are automatically generated using sdboot-manage. The generated entries can be customized by editing <tt>/etc/sdboot-manage.conf</tt>. | ||
<!--T:6--> | |||
{| role="presentation" class="wikitable mw-collapsible mw-collapsed" | {| role="presentation" class="wikitable mw-collapsible mw-collapsed" | ||
| <strong>/etc/sdboot-manage.conf</strong> | | <strong>/etc/sdboot-manage.conf</strong> | ||
Line 17: | Line 22: | ||
<pre># config file for sdboot-manage | <pre># config file for sdboot-manage | ||
<!--T:7--> | |||
# kernel options to be appended to the "options" line | # kernel options to be appended to the "options" line | ||
#LINUX_OPTIONS="" | #LINUX_OPTIONS="" | ||
#LINUX_FALLBACK_OPTIONS="" | #LINUX_FALLBACK_OPTIONS="" | ||
<!--T:8--> | |||
# when LINUX_USE_DEVICE_FOR_RESUME is set to "yes", the specified device will be used for hibernation | # when LINUX_USE_DEVICE_FOR_RESUME is set to "yes", the specified device will be used for hibernation | ||
#LINUX_USE_DEVICE_FOR_RESUME=/dev/sda4 | #LINUX_USE_DEVICE_FOR_RESUME=/dev/sda4 | ||
#LINUX_USE_DEVICE_FOR_RESUME=UUID=device_uuid | #LINUX_USE_DEVICE_FOR_RESUME=UUID=device_uuid | ||
<!--T:9--> | |||
# when LINUX_USE_SWAP_FOR_RESUME is set to "yes", the first detected available swap device will be used for hibernation | # when LINUX_USE_SWAP_FOR_RESUME is set to "yes", the first detected available swap device will be used for hibernation | ||
# i.e. the "resume=UUID=swap_device" parameter would be appended to the kernel command line | # i.e. the "resume=UUID=swap_device" parameter would be appended to the kernel command line | ||
#LINUX_USE_SWAP_FOR_RESUME="no" | #LINUX_USE_SWAP_FOR_RESUME="no" | ||
<!--T:10--> | |||
# the DEFAULT_ENTRY option determines if and how the default entry in loader.conf should be managed | # the DEFAULT_ENTRY option determines if and how the default entry in loader.conf should be managed | ||
# "latest" The most recent Manjaro kernel will be used(the one with the highest version number) | # "latest" The most recent Manjaro kernel will be used(the one with the highest version number) | ||
Line 35: | Line 44: | ||
#DEFAULT_ENTRY="latest" | #DEFAULT_ENTRY="latest" | ||
<!--T:11--> | |||
# ENTRY_ROOT is a template that describes the beginning of the name for system-boot entries | # ENTRY_ROOT is a template that describes the beginning of the name for system-boot entries | ||
# The ENTRY_ROOT will be followed by the kernel version number | # The ENTRY_ROOT will be followed by the kernel version number | ||
Line 40: | Line 50: | ||
#ENTRY_ROOT="manjarolinux" | #ENTRY_ROOT="manjarolinux" | ||
<!--T:12--> | |||
# ENTRY_TITLE is a template that describes the beginning of the title of (i.e. the text displayed in the loader screen for) systemd-boot entries | # ENTRY_TITLE is a template that describes the beginning of the title of (i.e. the text displayed in the loader screen for) systemd-boot entries | ||
# For example, if ENTRY_TITLE="Manjaro" and you are using kernel 4.19, the title of your entry will be "Manjaro Linux 4.19" | # For example, if ENTRY_TITLE="Manjaro" and you are using kernel 4.19, the title of your entry will be "Manjaro Linux 4.19" | ||
#ENTRY_TITLE="Manjaro Linux" | #ENTRY_TITLE="Manjaro Linux" | ||
<!--T:13--> | |||
# when ENTRY_APPEND_KVER is set to "yes", the kernel version number will be appended to both the filename and the title of systemd-boot entries | # when ENTRY_APPEND_KVER is set to "yes", the kernel version number will be appended to both the filename and the title of systemd-boot entries | ||
#ENTRY_APPEND_KVER="yes" | #ENTRY_APPEND_KVER="yes" | ||
<!--T:14--> | |||
# Use this pattern to match kernels which should be considered native OS kernels | # Use this pattern to match kernels which should be considered native OS kernels | ||
#KERNEL_PATTERN="vmlinuz-[0-9]*-*" \ | #KERNEL_PATTERN="vmlinuz-[0-9]*-*" \ | ||
<!--T:15--> | |||
# setting REMOVE_EXISTING to "yes" will remove all your existing systemd-boot entries before building new entries | # setting REMOVE_EXISTING to "yes" will remove all your existing systemd-boot entries before building new entries | ||
#REMOVE_EXISTING="yes" | #REMOVE_EXISTING="yes" | ||
<!--T:16--> | |||
# unless OVERWRITE_EXISTING is set to "yes" existing entries for currently installed kernels will not be touched | # unless OVERWRITE_EXISTING is set to "yes" existing entries for currently installed kernels will not be touched | ||
# this setting has no meaning if REMOVE_EXISTING is set to "yes" | # this setting has no meaning if REMOVE_EXISTING is set to "yes" | ||
#OVERWRITE_EXISTING="no" | #OVERWRITE_EXISTING="no" | ||
<!--T:17--> | |||
# when REMOVE_OBSOLETE is set to "yes" entries for kernels no longer available on the system will be removed | # when REMOVE_OBSOLETE is set to "yes" entries for kernels no longer available on the system will be removed | ||
#REMOVE_OBSOLETE="yes" | #REMOVE_OBSOLETE="yes" | ||
<!--T:18--> | |||
# if PRESERVE_FOREIGN is set to "yes", do not delete entries starting with $ENTRY_ROOT | # if PRESERVE_FOREIGN is set to "yes", do not delete entries starting with $ENTRY_ROOT | ||
#PRESERVE_FOREIGN="no" | #PRESERVE_FOREIGN="no" | ||
<!--T:19--> | |||
# setting NO_AUTOUPDATE to "yes" will stop the updates to systemd-boot when systemd is updated - not recommended unless you are seperately updating systemd-boot | # setting NO_AUTOUPDATE to "yes" will stop the updates to systemd-boot when systemd is updated - not recommended unless you are seperately updating systemd-boot | ||
#NO_AUTOUPDATE="no" | #NO_AUTOUPDATE="no" | ||
<!--T:20--> | |||
# setting NO_AUTOGEN to "yes" will stop the automatic creation of entries when kernels are installed or updated | # setting NO_AUTOGEN to "yes" will stop the automatic creation of entries when kernels are installed or updated | ||
#NO_AUTOGEN="no" | #NO_AUTOGEN="no" | ||
<!--T:21--> | |||
# add discard option to cryptdevice parameters | # add discard option to cryptdevice parameters | ||
#DISCARD="no" | #DISCARD="no" | ||
<!--T:22--> | |||
# add discard option to boot parameters for filesystems (rootflags=discard) for continuous TRIM | # add discard option to boot parameters for filesystems (rootflags=discard) for continuous TRIM | ||
# see: https://wiki.archlinux.org/index.php/Solid_state_drive#Continuous_TRIM | # see: https://wiki.archlinux.org/index.php/Solid_state_drive#Continuous_TRIM | ||
Line 78: | Line 99: | ||
|} | |} | ||
<!--T:23--> | |||
After changing this file, the existing entries need to be regenerated. | After changing this file, the existing entries need to be regenerated. | ||
<!--T:24--> | |||
{{UserCmd|command=sudo sdboot-manage gen}} | {{UserCmd|command=sudo sdboot-manage gen}} | ||
=== Setting up Plymouth splash screen === | === Setting up Plymouth splash screen === <!--T:25--> | ||
<!--T:26--> | |||
After installing Plymouth the kernel bootline needs to be adjusted. This can be done by editing <tt>/etc/sdboot-manage.conf</tt> as follows: | After installing Plymouth the kernel bootline needs to be adjusted. This can be done by editing <tt>/etc/sdboot-manage.conf</tt> as follows: | ||
<!--T:27--> | |||
Find the line | Find the line | ||
#LINUX_OPTIONS="" | #LINUX_OPTIONS="" | ||
Line 91: | Line 116: | ||
LINUX_OPTIONS="quiet splash loglevel=3 rd.udev.log_priority=3 vt.global_cursor_default=0" | LINUX_OPTIONS="quiet splash loglevel=3 rd.udev.log_priority=3 vt.global_cursor_default=0" | ||
=== Further configuration === | === Further configuration === <!--T:28--> | ||
<!--T:29--> | |||
For further configuration such as custom entries, refer to [https://wiki.archlinux.org/title/Systemd-boot ArchWiki]. | For further configuration such as custom entries, refer to [https://wiki.archlinux.org/title/Systemd-boot ArchWiki]. | ||
=See Also= | =See Also= <!--T:30--> | ||
<!--T:31--> | |||
[https://wiki.archlinux.org/title/systemd-boot systemd-boot on ArchWiki] For a more complete article about systemd-boot. | [https://wiki.archlinux.org/title/systemd-boot systemd-boot on ArchWiki] For a more complete article about systemd-boot. | ||
<!--T:32--> | |||
[https://gitlab.com/dalto.8/systemd-boot-manager/-/tree/master dalto.8/systemd-boot-manager on GitLab] For the automatic generators source code. | [https://gitlab.com/dalto.8/systemd-boot-manager/-/tree/master dalto.8/systemd-boot-manager on GitLab] For the automatic generators source code. | ||
<!--T:33--> | |||
[https://man.archlinux.org/man/systemd-boot.7 man systemd-boot.7] The man-page for systemd-boot. | [https://man.archlinux.org/man/systemd-boot.7 man systemd-boot.7] The man-page for systemd-boot. | ||
</translate> | |||
[[Category: | [[Category:Contents Page{{#translation:}}]] | ||
[[Category:Bootloader{{#translation:}}]] |
Latest revision as of 18:35, 7 September 2021
systemd-boot is an alternative to other bootloaders such as GRUB.
Configuration
Customizing entries
The entries in the bootloader are automatically generated using sdboot-manage. The generated entries can be customized by editing /etc/sdboot-manage.conf.
/etc/sdboot-manage.conf |
/etc/sdboot-manage.conf # config file for sdboot-manage # kernel options to be appended to the "options" line #LINUX_OPTIONS="" #LINUX_FALLBACK_OPTIONS="" # when LINUX_USE_DEVICE_FOR_RESUME is set to "yes", the specified device will be used for hibernation #LINUX_USE_DEVICE_FOR_RESUME=/dev/sda4 #LINUX_USE_DEVICE_FOR_RESUME=UUID=device_uuid # when LINUX_USE_SWAP_FOR_RESUME is set to "yes", the first detected available swap device will be used for hibernation # i.e. the "resume=UUID=swap_device" parameter would be appended to the kernel command line #LINUX_USE_SWAP_FOR_RESUME="no" # the DEFAULT_ENTRY option determines if and how the default entry in loader.conf should be managed # "latest" The most recent Manjaro kernel will be used(the one with the highest version number) # "oldest" The oldest Manjaro kernel will be used(the one with the lowest version number) # "manual" Don't modify the default setting #DEFAULT_ENTRY="latest" # ENTRY_ROOT is a template that describes the beginning of the name for system-boot entries # The ENTRY_ROOT will be followed by the kernel version number # For example, if ENTRY_ROOT="manjaro" and you are using kernel 4.19 your entry will be named "manjaro4.19.conf" #ENTRY_ROOT="manjarolinux" # ENTRY_TITLE is a template that describes the beginning of the title of (i.e. the text displayed in the loader screen for) systemd-boot entries # For example, if ENTRY_TITLE="Manjaro" and you are using kernel 4.19, the title of your entry will be "Manjaro Linux 4.19" #ENTRY_TITLE="Manjaro Linux" # when ENTRY_APPEND_KVER is set to "yes", the kernel version number will be appended to both the filename and the title of systemd-boot entries #ENTRY_APPEND_KVER="yes" # Use this pattern to match kernels which should be considered native OS kernels #KERNEL_PATTERN="vmlinuz-[0-9]*-*" \ # setting REMOVE_EXISTING to "yes" will remove all your existing systemd-boot entries before building new entries #REMOVE_EXISTING="yes" # unless OVERWRITE_EXISTING is set to "yes" existing entries for currently installed kernels will not be touched # this setting has no meaning if REMOVE_EXISTING is set to "yes" #OVERWRITE_EXISTING="no" # when REMOVE_OBSOLETE is set to "yes" entries for kernels no longer available on the system will be removed #REMOVE_OBSOLETE="yes" # if PRESERVE_FOREIGN is set to "yes", do not delete entries starting with $ENTRY_ROOT #PRESERVE_FOREIGN="no" # setting NO_AUTOUPDATE to "yes" will stop the updates to systemd-boot when systemd is updated - not recommended unless you are seperately updating systemd-boot #NO_AUTOUPDATE="no" # setting NO_AUTOGEN to "yes" will stop the automatic creation of entries when kernels are installed or updated #NO_AUTOGEN="no" # add discard option to cryptdevice parameters #DISCARD="no" # add discard option to boot parameters for filesystems (rootflags=discard) for continuous TRIM # see: https://wiki.archlinux.org/index.php/Solid_state_drive#Continuous_TRIM #CDISCARD="no" |
After changing this file, the existing entries need to be regenerated.
user $ sudo sdboot-manage gen
Setting up Plymouth splash screen
After installing Plymouth the kernel bootline needs to be adjusted. This can be done by editing /etc/sdboot-manage.conf as follows:
Find the line
#LINUX_OPTIONS=""
and replace it with
LINUX_OPTIONS="quiet splash loglevel=3 rd.udev.log_priority=3 vt.global_cursor_default=0"
Further configuration
For further configuration such as custom entries, refer to ArchWiki.
See Also
systemd-boot on ArchWiki For a more complete article about systemd-boot.
dalto.8/systemd-boot-manager on GitLab For the automatic generators source code.
man systemd-boot.7 The man-page for systemd-boot.