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

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

From: Jan Kiszka <jan.kiszka@siemens.com>
Date: 2023-08-17 14:21:49

On 17.08.23 16:12, venkata.pyla@toshiba-tsip.com wrote:
quoted hunk ↗ jump to hunk
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" % \
What does OE/wic do for creating dosfs filesystems in reproducibility
mode? I do not find --invariant in their code base.

Jan
quoted hunk ↗ jump to hunk
             (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)
 
-- 
Siemens AG, Technology
Linux Expert Center

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