Description
This tests whether a Fedora CoreOS instance updated to the latest next stream can have its bootloader updated via bootupd.
Setup
- Have access to a (or install a new) FCOS instance running either the stable or testing stream.
- You can boot the system either in UEFI or BIOS mode.
- RAID setups are now supported in bootupd.
How to test
- Verify that your FCOS system is running on stable (or testing):
$ rpm-ostree status State: idle Deployments: ● ostree://fedora:fedora/x86_64/coreos/stable Version: 32.20201018.3.0 (2020-11-02T20:54:53Z) Commit: a6f3e91ad6e0b8e132769c1694ed9b747a339c04e4e6256fce3afd81c85e1f1f GPGSignature: Valid signature by 97A1AE57C3A2372CCA3A4ABA6C13026D12C944D0The black circle ● shows the currently booted tree (if you see multiple deployments available). The current tree should show
fedora/x86_64/coreos/stable. The rest of the lines may differ from the above output. - Follow the Update Streams documentation to switch your system to the
nextstream.- A package difference should be displayed during the switch operation for you to review.
- Reboot
- Verify that your system is now running on the next stream:
$ rpm-ostree status State: idle Deployments: ● State: idle AutomaticUpdatesDriver: Zincati DriverState: active; periodically polling for updates (last checked Sun 2021-04-25 17:44:22 UTC) Deployments: * ostree://fedora:fedora/x86_64/coreos/next Version: 34.20210418.1.0 (2021-04-21T14:49:53Z) Commit: 7e6668b2ed6cc3693077e2c10e217accbe3affeb10208ea1a5959f0758398343 GPGSignature: Valid signature by 8C5BA6990BDB26E19F2A1A801161AE6945719A39 ostree://fedora:fedora/x86_64/coreos/stable Version: 32.20201018.3.0 (2020-11-02T20:54:53Z) Commit: a6f3e91ad6e0b8e132769c1694ed9b747a339c04e4e6256fce3afd81c85e1f1f GPGSignature: Valid signature by 97A1AE57C3A2372CCA3A4ABA6C13026D12C944D0The current tree should show
fedora/x86_64/coreos/next. The rest of the lines may differ from the above output. - Verify that the bootloader has been updated via bootloader-update.service.
$ journalctl -u bootloader-update.service Sep 28 07:41:00 localhost systemd[1]: Starting bootloader-update.service - Update bootloader on boot... Sep 28 07:41:03 cosa-devsh bootupctl[1012]: Previous BIOS: grub2-tools-1:2.12-32.fc42.x86_64 Sep 28 07:41:03 cosa-devsh bootupctl[1012]: Updated BIOS: grub2-tools-1:2.12-40.fc43.x86_64 Sep 28 07:41:03 cosa-devsh bootupctl[1012]: Previous EFI: grub2-efi-x64-1:2.12-32.fc42.x86_64,shim-x64-15.8-3.x86_64 Sep 28 07:41:03 cosa-devsh bootupctl[1012]: Updated EFI: grub2-efi-x64-1:2.12-40.fc43.x86_64,shim-x64-15.8-3.x86_64 Sep 28 07:41:03 cosa-devsh systemd[1]: Finished bootloader-update.service - Update bootloader on boot.
The output should show
Previous: Updated:. Version strings may differ from the above output. - Verify the output of
bootupctl status:$ sudo bootupctl status Running as unit: bootupd.service Component BIOS Installed: grub2-tools-1:2.12-40.fc43.x86_64 Update: At latest version Component EFI Installed: grub2-efi-x64-1:2.12-40.fc43.x86_64,shim-x64-15.8-3.x86_64 Update: At latest version No components are adoptable. CoreOS aleph version: 42.20250914.1.0 Boot method: EFI
The output should show
Update: At latest version. - Reboot the system to test the new bootloader.
Expected Results
- The system successfully reboots and runs on the next stream with the latest bootloader.
- The system is functional (you can connect the same way as before, your services are running as before).
- The linked documentation is clear, all steps are understandable, and nothing important is missing from it.
Optional
- You can try the same steps, but automating the bootloader update via a systemd service as described in https://docs.fedoraproject.org/en-US/fedora-coreos/bootloader-updates/ the documentation].
