To update the bootloader by using bootupd
, you must either install bootupd
on {op-system} machines manually or provide a machine config with the enabled systemd
unit. Unlike grubby
or other bootloader tools, bootupd
does not manage kernel space configuration such as passing kernel arguments.
After you have installed bootupd
, you can manage it remotely from the {product-title} cluster.
Note
|
It is recommended that you use |
You can manually install bootupd
by using the bootctl
command-line tool.
-
Inspect the system status:
# bootupctl status
Example output forx86_64
Component EFI Installed: grub2-efi-x64-1:2.04-31.fc33.x86_64,shim-x64-15-8.x86_64 Update: At latest version
Example output forarm64
Component EFI Installed: grub2-efi-aa64-1:2.02-99.el8_4.1.aarch64,shim-aa64-15.4-2.el8_1.aarch64 Update: At latest version
-
{op-system} images created without
bootupd
installed on them require an explicit adoption phase.If the system status is
Adoptable
, perform the adoption:# bootupctl adopt-and-update
Example outputUpdated: grub2-efi-x64-1:2.04-31.fc33.x86_64,shim-x64-15-8.x86_64
-
If an update is available, apply the update so that the changes take effect on the next reboot:
# bootupctl update
Example outputUpdated: grub2-efi-x64-1:2.04-31.fc33.x86_64,shim-x64-15-8.x86_64
Another way to enable bootupd
is by providing a machine config.
-
Provide a machine config file with the enabled
systemd
unit, as shown in the following example:Example outputvariant: rhcos version: 1.1.0 systemd: units: - name: custom-bootupd-auto.service enabled: true contents: | [Unit] Description=Bootupd automatic update [Service] ExecStart=/usr/bin/bootupctl update RemainAfterExit=yes [Install] WantedBy=multi-user.target