summary refs log tree commit diff
path: root/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py
diff options
context:
space:
mode:
Diffstat (limited to 'nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py')
-rw-r--r--nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py7
1 files changed, 7 insertions, 0 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 704c574b822e..804b710f3759 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
@@ -2,12 +2,15 @@
 import argparse
 import shutil
 import os
+import sys
 import errno
 import subprocess
 import glob
 import tempfile
 import errno
 import warnings
+import ctypes
+libc = ctypes.CDLL("libc.so.6")
 
 def copy_if_not_exists(source, dest):
     if not os.path.exists(dest):
@@ -145,5 +148,9 @@ def main():
         if os.readlink(system_dir(gen)) == args.default_config:
             write_loader_conf(gen)
 
+    rc = libc.syncfs(os.open("@efiSysMountPoint@", os.O_RDONLY))
+    if rc != 0:
+        print("could not sync @efiSysMountPoint@: {}".format(os.strerror(rc)), file=sys.stderr)
+
 if __name__ == '__main__':
     main()