Thread (3 messages) 3 messages, 2 authors, 2023-08-23

[isar-cip-core] scripts/*/efibootguard-*.py: Make FAT file system image create reproducibly

From: <hidden>
Date: 2023-08-17 14:12:59
Subsystem: the rest · Maintainer: Linus Torvalds

From: venkata pyla <redacted>

The EFI and BOOT file system images are created non-reproducibly because
when `mkdosfs` create FAT file system it uses random values for volume-id
and creation time, this can be fixed by passing additional option
`--invariant` to `mkdosfs` that uses fixed volume-id and creation time.

Fixes: #73

Signed-off-by: venkata pyla <redacted>
---
 scripts/lib/wic/plugins/source/efibootguard-boot.py | 2 +-
 scripts/lib/wic/plugins/source/efibootguard-efi.py  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/scripts/lib/wic/plugins/source/efibootguard-boot.py b/scripts/lib/wic/plugins/source/efibootguard-boot.py
index 7435b22..490b19a 100644
--- a/scripts/lib/wic/plugins/source/efibootguard-boot.py
+++ b/scripts/lib/wic/plugins/source/efibootguard-boot.py
@@ -160,7 +160,7 @@ class EfibootguardBootPlugin(SourcePlugin):
         # dosfs image, created by mkdosfs
         bootimg = "%s/%s.%s.img" % (cr_workdir, part.label, part.lineno)
 
-        dosfs_cmd = "mkdosfs -F 16 -S 512 -n %s -C %s %d" % \
+        dosfs_cmd = "mkdosfs -F 16 -S 512 -n %s -C %s %d --invariant" % \
             (part.label.upper(), bootimg, blocks)
         exec_cmd(dosfs_cmd)
 
diff --git a/scripts/lib/wic/plugins/source/efibootguard-efi.py b/scripts/lib/wic/plugins/source/efibootguard-efi.py
index d6cdf0f..2c69609 100644
--- a/scripts/lib/wic/plugins/source/efibootguard-efi.py
+++ b/scripts/lib/wic/plugins/source/efibootguard-efi.py
@@ -105,7 +105,7 @@ class EfibootguardEFIPlugin(SourcePlugin):
         # dosfs image, created by mkdosfs
         efi_part_image = "%s/%s.%s.img" % (cr_workdir, part.label, part.lineno)
 
-        dosfs_cmd = "mkdosfs -S 512 -n %s -C %s %d" % \
+        dosfs_cmd = "mkdosfs -S 512 -n %s -C %s %d --invariant" % \
             (part.label.upper(), efi_part_image, blocks)
         exec_cmd(dosfs_cmd)
 
-- 
2.20.1


Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help