Installation¶
If your distribution provides pibootctl then you should either find the utility is installed by default, or it should be installable via your package manager. For example:
$ sudo apt install pibootctl
It is strongly recommended to use a provided package rather than installing from PyPI as this will include configuration specific to your distribution. The utility can be removed via the usual mechanism for your package manager. For instance:
$ sudo apt purge pibootctl
Configuration¶
pibootctl looks for its configuration in three locations:
/lib/pibootctl/pibootctl.conf
/etc/pibootctl.conf
~/.config/pibootctl.conf
The last location is only intended for use by people developing pibootctl; for the vast majority of users the configuration should be provided by their distribution in one of the first two locations.
The configuration file is a straight-forward INI-style containing a single section titled “defaults”. A typical configuration file might look like this:
[defaults]
boot_path = /boot
store_path = pibootctl
package_name = pibootctl
comment_lines = on
backup = on
The configuration specifies several settings, but the most important are:
boot_path
- The mount-point of the boot partition (defaults to
/boot
). store_path
- The path under which to store saved boot configurations, relative to
boot_path
(defaults topibootctl
). config_root
- The “root” configuration file which is read first, relative to
boot_path
(defaults toconfig.txt
). This is also the primary file that gets re-written when settings are changed. mutable_files
- The set of files within a configuration that may be modified by the
utility (defaults to
config.txt
). List multiple files on separate lines. Currently, this must includeconfig.txt
. comment_lines
If this is on, when lines in configuration files are no longer required, they will be commented out with a “#” prefix instead of being deleted. Defaults to off.
Note that, regardless of this setting, the utility will always search for commented lines to uncomment before writing new ones.
reboot_required
- The file which should be created in the event that the active boot configuration is changed.
reboot_required_pkgs
- The file to which the value of
package_name
should be appended in the event that the active boot configuration is changed. package_name
- The name of the package which contains the utility. Used by
reboot_required_pkgs
. backup
- If this is on (the default), any attempt to change the active boot configuration will automatically create a backup of that configuration if one does not already exist.
Line comments can be included in the configuration file with a #
prefix.
Another example configuration, typical for Ubuntu on the Raspberry Pi, is shown
below:
[defaults]
boot_path = /boot
store_path = pibootctl
mutable_files =
config.txt
syscfg.txt
reboot_required = /var/run/reboot-required
reboot_required_pkgs = /var/run/reboot-required.pkgs
package_name = pibootctl
backup = on