Repository navigation
Some systemd-boot fixes - #2569
Johan-Liebert1 wants to merge 3 commits into
Conversation
`bootctl install` always writes a `loader.conf` file and our custom timeout was not being written to it because we were only conditionally writing it if `loader.conf` didn't exist, which was never true. Unconditionally write it after `bootctl install` Fixes: bootc-dev#2558 Signed-off-by: Pragyan Poudyal <pragyanpoudyal41999@gmail.com>
574d906 to
6a5b395
Compare
If we're not installing to a generic image (eg. via loopback), we'd want to update the EFI firmware variables similar to what we do in the bootupd install path by passing `--update-firmware` bootctl doesn't install variables if `--root` is given unless we also explicitly provide `--variables=yes` Fixes: bootc-dev#2557 Signed-off-by: Pragyan Poudyal <pragyanpoudyal41999@gmail.com>
Tests `32-multi-device-esp` and `60-install-composefs-native` randomly fail while trying to unmount a mountpoint with the error `umount: /var/mnt/esp_check: target is busy.` or `umount: /var/mnt/composefs-native: target is busy.` Lazily unmount them with the `-l` option to prevent flakes Related: bootc-dev#2177 Signed-off-by: Pragyan Poudyal <pragyanpoudyal41999@gmail.com>
6a5b395 to
5685e48
Compare
| // systemd-boot creates a loader.conf files with all lines | ||
| // commented out |
There was a problem hiding this comment.
I know this is just moving existing code but since we're doing that...this doesn't seem like something bootc should be hardcoding.
It should be easy and ergonomic to define the initial config file for systemd-boot as part of the container image itself.
So we should move this into e.g. fedora-bootc's base config or so. Or the package.
I really don't like having a new parser for the config file. (Which btw, could easily have unit tests)
|
I tested this PR (5685e48) with our installer: an Arch-based image (systemd 262, not derived from
systemd treats a container as not booted with EFI: in the same container timeout (#2558): works (tested with On where the config should live: our installer writes the whole |
sd-boot: Make sure timeout is written
bootctl installalways writes aloader.conffile and our customtimeout was not being written to it because we were only conditionally
writing it if
loader.confdidn't exist, which was never true.Unconditionally write it after
bootctl installFixes: #2558
bootctl: Pass
--variables=yeswhen not a generic imageIf we're not installing to a generic image (eg. via loopback), we'd want
to update the EFI firmware variables similar to what we do in the
bootupd install path by passing
--update-firmwarebootctl doesn't install variables if
--rootis given unless we alsoexplicitly provide
--variables=yesFixes: #2557