diff options
author | Daan De Meyer <daan.j.demeyer@gmail.com> | 2023-04-06 12:17:18 +0200 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2023-04-07 10:34:34 +0200 |
commit | 05f70527326d0f6c61362ea93462d37dc701c98b (patch) | |
tree | 97f4490f394cf880ddfa6598018b5694b8b9b441 /src/boot | |
parent | bootctl: show report state and type in json output (diff) | |
download | systemd-05f70527326d0f6c61362ea93462d37dc701c98b.tar.xz systemd-05f70527326d0f6c61362ea93462d37dc701c98b.zip |
bootctl: Gracefully handle missing bootloader directory
When --graceful is specified, let's gracefully deal with a missing
bootloader directory.
Diffstat (limited to 'src/boot')
-rw-r--r-- | src/boot/bootctl-install.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/boot/bootctl-install.c b/src/boot/bootctl-install.c index dc8596fa05..2dd50360ec 100644 --- a/src/boot/bootctl-install.c +++ b/src/boot/bootctl-install.c @@ -391,6 +391,10 @@ static int install_binaries(const char *esp_path, const char *arch, bool force) /* If we had a root directory to try, we didn't find it and we are in auto mode, retry on the host */ if (r == -ENOENT && root && arg_install_source == ARG_INSTALL_SOURCE_AUTO) r = chase_and_opendir(BOOTLIBDIR, NULL, CHASE_PREFIX_ROOT|CHASE_PROHIBIT_SYMLINKS, &path, &d); + if (r == -ENOENT && arg_graceful) { + log_debug("Source directory does not exist, ignoring."); + return 0; + } if (r < 0) return log_error_errno(r, "Failed to open boot loader directory %s%s: %m", strempty(root), BOOTLIBDIR); |