diff options
author | Kai Harries <kai.harries@posteo.de> | 2021-02-28 11:45:03 +0100 |
---|---|---|
committer | Kai Harries <kai.harries@posteo.de> | 2021-03-02 20:17:57 +0100 |
commit | e2be5dc1f4f12eaab10ae2311d293c114868ca1b (patch) | |
tree | 3fb077413c6daa26d3d8e021b93319e207576434 /nixos/modules/system/boot/loader/systemd-boot | |
parent | c1180834cf5a9cd8b73fcf58a4efc81661620c76 (diff) | |
download | nixpkgs-e2be5dc1f4f12eaab10ae2311d293c114868ca1b.tar nixpkgs-e2be5dc1f4f12eaab10ae2311d293c114868ca1b.tar.gz nixpkgs-e2be5dc1f4f12eaab10ae2311d293c114868ca1b.tar.bz2 nixpkgs-e2be5dc1f4f12eaab10ae2311d293c114868ca1b.tar.lz nixpkgs-e2be5dc1f4f12eaab10ae2311d293c114868ca1b.tar.xz nixpkgs-e2be5dc1f4f12eaab10ae2311d293c114868ca1b.tar.zst nixpkgs-e2be5dc1f4f12eaab10ae2311d293c114868ca1b.zip |
systemd-boot-builder: gracefully ignore errors during entry creation
Catch and ignore errors during writing of the boot entries. These errors could stem from profile names that are not valid filenames on vfat filesystems. fixes #114552
Diffstat (limited to 'nixos/modules/system/boot/loader/systemd-boot')
-rw-r--r-- | nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py index 6bee900c683..c47a5a81fb2 100644 --- a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py +++ b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py @@ -222,9 +222,12 @@ def main(): gens += get_generations(profile) remove_old_entries(gens) for gen in gens: - write_entry(*gen, machine_id) - if os.readlink(system_dir(*gen)) == args.default_config: - write_loader_conf(*gen) + try: + write_entry(*gen, machine_id) + if os.readlink(system_dir(*gen)) == args.default_config: + write_loader_conf(*gen) + except OSError as e: + print("ignoring profile '{}' in the list of boot entries because of the following error:\n{}".format(profile, e), file=sys.stderr) memtest_entry_file = "@efiSysMountPoint@/loader/entries/memtest86.conf" if os.path.exists(memtest_entry_file): |