pbl - manage boot loader confguration.
pbl is a light wrapper to unify some common boot loader configuration tasks.
It is not intended to provide a comprehensive API to boot loader configuration.
Most notably, not all options make sense for all boot loaders.
Supported boot loaders have a sub directory in /usr/lib/bootloader containing a shell script for each option. To add support for a new boot loader create a new directoy with its name and add scripts for options you need.
- --install
-
Install (or update) boot loader.
Note that this does not update the boot loader configuration. - --config
-
Create (or update) boot loader configuration.
- --show
-
Print current boot loader.
- --loader _BOOTLOADER
-
Set current boot loader to BOOTLOADER.
Supported values: none, grub2, grub2-bls, grub2-efi, systemd-boot, u-boot.
Note that this only changes a config variable. To actually use the new boot loader, run pbl --install and pbl --config. - --default ENTRY
-
Set default boot entry to ENTRY.
- --add-option OPTION
-
Add OPTION to default boot options (grub2).
- --del-option OPTION
-
Delete OPTION from default boot options (grub2).
- --get-option OPTION
-
Get OPTION from default boot options (grub2).
- --add-kernel VERSION [KERNEL [INITRD]]
-
Add kernel with version VERSION. Optionally pass kernel and initrd explicitly (systemd-boot).
- --remove-kernel VERSION
-
Remove kernel with version VERSION (systemd-boot).
- --default-settings
-
Print default kernel, initrd, and boot options.
- --log LOGFILE
-
Log messages to LOGFILE (default: /var/log/pbl.log).
- --version
-
Show pbl version.
- --help
-
Write this help text.
- /etc/sysconfig/bootloader
-
General boot loader related configuration settings.
- /var/log/pbl.log
-
Default log file.
- /usr/etc/logrotate.d/pbl
-
Logrotate rules for /var/log/pbl.log.
- /usr/lib/bootloader
-
Directory with specific config scripts for each supported boot loader.
# display default boot loader pbl --show # change default boot loader pbl --loader systemd-boot # (re-)install default boot loader pbl --install # update boot loader configuration pbl --config
-
The Boot Loader Specification: https://uapi-group.org/specifications/specs/boot_loader_specification
-
The Discoverable Partitions Specification: https://uapi-group.org/specifications/specs/discoverable_partitions_specification
-
grub2: https://www.gnu.org/software/grub/manual/grub/grub.html
-
systemd-boot: https://www.freedesktop.org/software/systemd/man/systemd-boot.html
-
u-boot: http://www.denx.de/wiki/U-Boot
-
UEFI Specification: https://uefi.org/specifications