Skip to contentSkip to conversation

Fix reproducible issues due to

PATCH In review [email protected] 2 participants 4 messages Aug 24, 2023 – Aug 28, 2023 1 message not in the archive

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]

#1 lore raw

v2 cover Fix reproducible issues due to

From: venkata pyla <[email protected]>

Hi,

This series patch fixes the reproducible issues due to filesystem UUID's are not constant.

Change from v2:
- Remove "--invariant" option and instead pass the filesystem UUID to the mkdosfs.
- Fix filesystem UUID's for the home and var partitions.

venkata pyla (2):
ebg-sysparts: Add filesystem UUID's to fat images qemu*.wks.in: Add filessystem UUID for reproducible builds

 scripts/lib/wic/plugins/source/efibootguard-boot.py | 4 ++--
 scripts/lib/wic/plugins/source/efibootguard-efi.py  | 4 ++--
 wic/ebg-sysparts.inc                                | 6 +++---
 wic/qemu-amd64-efibootguard-secureboot.wks.in       | 4 ++--
 wic/qemu-arm64-efibootguard-secureboot.wks.in       | 4 ++--
 wic/qemu-arm64-efibootguard.wks.in                  | 4 ++--
 wic/x86-efibootguard.wks.in                         | 4 ++--
 7 files changed, 15 insertions(+), 15 deletions(-)
Signature · 1 line
2.20.1
#2 lore raw
Quoted 16 lines · On 24.08.23 12:41, [email protected] wrote:

From: venkata pyla <[email protected]>

Hi,

This series patch fixes the reproducible issues due to filesystem UUID's are not constant.

Change from v2:
- Remove "--invariant" option and instead pass the filesystem UUID to the mkdosfs.
- Fix filesystem UUID's for the home and var partitions.

venkata pyla (2):
ebg-sysparts: Add filesystem UUID's to fat images qemu*.wks.in: Add filessystem UUID for reproducible builds

Quoted 9 lines
 scripts/lib/wic/plugins/source/efibootguard-boot.py | 4 ++--
 scripts/lib/wic/plugins/source/efibootguard-efi.py  | 4 ++--
 wic/ebg-sysparts.inc                                | 6 +++---
 wic/qemu-amd64-efibootguard-secureboot.wks.in       | 4 ++--
 wic/qemu-arm64-efibootguard-secureboot.wks.in       | 4 ++--
 wic/qemu-arm64-efibootguard.wks.in                  | 4 ++--
 wic/x86-efibootguard.wks.in                         | 4 ++--
 7 files changed, 15 insertions(+), 15 deletions(-)

Thanks, both applied. I just dropped unneeded quotes from the wks files and added some missing fsuuid assignments (bbb, hihope-rzg2m, qemu-riscv).

Jan

Signature · 2 lines
Siemens AG, Technology
Linux Expert Center
#3 lore raw

PATCH v2 1/2 ebg-sysparts: Add filesystem UUID to fat images

In reply to a message not in the archive

From: venkata pyla <[email protected]>

The EFI and BOOT file system images are not reproducible because it is created with random volume-id's generated in mkdosfs.

To fix this assign fixed filesystem UUID to the partitions and pass it to the mkdosfs.

Partially-fixes: #73

---
 scripts/lib/wic/plugins/source/efibootguard-boot.py | 4 ++--
 scripts/lib/wic/plugins/source/efibootguard-efi.py  | 4 ++--
 wic/ebg-sysparts.inc                                | 6 +++---
 3 files changed, 7 insertions(+), 7 deletions(-)
scripts/lib/wic/plugins/source/efibootguard-boot.py +2 -2
index 7435b22..9892572 100644
@@ -160,8 +160,8 @@ 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" % \
-            (part.label.upper(), bootimg, blocks)
+        dosfs_cmd = "mkdosfs -F 16 -S 512 -n %s -C %s %d -i %s" % \
+            (part.label.upper(), bootimg, blocks, part.fsuuid)
         exec_cmd(dosfs_cmd)
 
         mcopy_cmd = "mcopy -v -i %s -s %s/* ::/" % (bootimg, part_rootfs_dir)
scripts/lib/wic/plugins/source/efibootguard-efi.py +2 -2
index d6cdf0f..86a22e0 100644
@@ -105,8 +105,8 @@ 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" % \
-            (part.label.upper(), efi_part_image, blocks)
+        dosfs_cmd = "mkdosfs -S 512 -n %s -C %s %d -i %s" % \
+            (part.label.upper(), efi_part_image, blocks, part.fsuuid)
         exec_cmd(dosfs_cmd)
 
         # mtools for buster have problems with resursive mcopy.
wic/ebg-sysparts.inc +3 -3
index 9b2c879..976735d 100644
@@ -1,8 +1,8 @@
 # default partition layout EFI Boot Guard usage
 
 # EFI partition containing efibootguard bootloader binary
-part --source efibootguard-efi  --size 16M --extra-space 0 --overhead-factor 1 --label efi   --align 1024 --part-type=EF00 --active
+part --source efibootguard-efi  --size 16M --extra-space 0 --overhead-factor 1 --label efi   --align 1024 --part-type=EF00 --active --fsuuid "0x4321dcba"
 
 # EFI Boot Guard environment/config partitions plus Kernel files
-part --source efibootguard-boot --size 32M --extra-space 0 --overhead-factor 1 --label BOOT0 --align 1024 --part-type=0700 --sourceparams "revision=2"
-part --source efibootguard-boot --size 32M --extra-space 0 --overhead-factor 1 --label BOOT1 --align 1024 --part-type=0700 --sourceparams "revision=1"
+part --source efibootguard-boot --size 32M --extra-space 0 --overhead-factor 1 --label BOOT0 --align 1024 --part-type=0700 --sourceparams "revision=2" --fsuuid "0x4321dcbb"
+part --source efibootguard-boot --size 32M --extra-space 0 --overhead-factor 1 --label BOOT1 --align 1024 --part-type=0700 --sourceparams "revision=1" --fsuuid "0x4321dcbc"
Signature · 1 line
2.20.1
#4 lore raw

PATCH v2 2/2 qemu*.wks.in: Add filessystem UUID to home and var partitions

In reply to a message not in the archive

From: venkata pyla <[email protected]>

The filesystem images are not reproducible without constant UUID's, so assigned UUID's for home and var partition.

Fixes #74
---
 wic/qemu-amd64-efibootguard-secureboot.wks.in | 4 ++--
 wic/qemu-arm64-efibootguard-secureboot.wks.in | 4 ++--
 wic/qemu-arm64-efibootguard.wks.in            | 4 ++--
 wic/x86-efibootguard.wks.in                   | 4 ++--
 4 files changed, 8 insertions(+), 8 deletions(-)
wic/qemu-amd64-efibootguard-secureboot.wks.in +2 -2
index 12fa45f..4a21fa7 100644
@@ -4,7 +4,7 @@ part --source rawcopy --sourceparams "file=${IMAGE_FULLNAME}.verity" --align 102
 part --source empty --align 1024 --fixed-size 1G --uuid "${ABROOTFS_PART_UUID_B}"
 
 # home and var are extra partitions
-part /home --source rootfs --rootfs-dir=${IMAGE_ROOTFS}/home --fstype=ext4 --label home --align 1024 --size 1G
-part /var  --source rootfs --rootfs-dir=${IMAGE_ROOTFS}/var  --fstype=ext4 --label var  --align 1024 --size 2G
+part /home --source rootfs --rootfs-dir=${IMAGE_ROOTFS}/home --fstype=ext4 --label home --align 1024 --size 1G --fsuuid "1f55d66a-40d8-11ee-be56-0242ac120002"
+part /var  --source rootfs --rootfs-dir=${IMAGE_ROOTFS}/var  --fstype=ext4 --label var  --align 1024 --size 2G --fsuuid "96be3374-4258-11ee-be56-0242ac120002"
 
 bootloader --ptable gpt --append="console=tty0 console=ttyS0,115200 rootwait earlyprintk watchdog.handle_boot_enabled=0 iTCO_wdt.nowayout=1 panic=5"
wic/qemu-arm64-efibootguard-secureboot.wks.in +2 -2
index a58928a..9145379 100644
@@ -4,7 +4,7 @@ part --source rawcopy --sourceparams "file=${IMAGE_FULLNAME}.verity" --align 102
 part --source empty --align 1024 --fixed-size 1G --uuid "${ABROOTFS_PART_UUID_B}"
 
 # home and var are extra partitions
-part /home --source rootfs --rootfs-dir=${IMAGE_ROOTFS}/home --fstype=ext4 --label home --align 1024 --size 1G
-part /var  --source rootfs --rootfs-dir=${IMAGE_ROOTFS}/var  --fstype=ext4 --label var  --align 1024 --size 2G
+part /home --source rootfs --rootfs-dir=${IMAGE_ROOTFS}/home --fstype=ext4 --label home --align 1024 --size 1G --fsuuid "1f55d66a-40d8-11ee-be56-0242ac120002"
+part /var  --source rootfs --rootfs-dir=${IMAGE_ROOTFS}/var  --fstype=ext4 --label var  --align 1024 --size 2G --fsuuid "96be3374-4258-11ee-be56-0242ac120002"
 
 bootloader --ptable gpt --append="panic=5"
wic/qemu-arm64-efibootguard.wks.in +2 -2
index bcd736e..9e9567b 100644
@@ -7,7 +7,7 @@ part --source rawcopy --sourceparams "file=${IMAGE_FULLNAME}.squashfs" --align 1
 part --source empty --align 1024 --fixed-size 1G --uuid "${ABROOTFS_PART_UUID_B}"
 
 # home and var are extra partitions
-part /home --source rootfs --rootfs-dir=${IMAGE_ROOTFS}/home --fstype=ext4 --label home --align 1024  --size 1G
-part /var --source rootfs --rootfs-dir=${IMAGE_ROOTFS}/var --fstype=ext4 --label var --align 1024  --size 2G
+part /home --source rootfs --rootfs-dir=${IMAGE_ROOTFS}/home --fstype=ext4 --label home --align 1024  --size 1G --fsuuid "1f55d66a-40d8-11ee-be56-0242ac120002"
+part /var --source rootfs --rootfs-dir=${IMAGE_ROOTFS}/var --fstype=ext4 --label var --align 1024  --size 2G --fsuuid "96be3374-4258-11ee-be56-0242ac120002"
 
 bootloader --ptable gpt
wic/x86-efibootguard.wks.in +2 -2
index 38ad411..d39f92d 100644
@@ -8,7 +8,7 @@ part --source empty --align 1024 --fixed-size 1G --uuid "${ABROOTFS_PART_UUID_B}
 
 # home and var are extra partitions
 
-part /home --source rootfs --rootfs-dir=${IMAGE_ROOTFS}/home --fstype=ext4 --label home --align 1024  --size 1G --extra-space=100M 
-part /var --source rootfs --rootfs-dir=${IMAGE_ROOTFS}/var --fstype=ext4 --label var --align 1024  --size 2G --extra-space=100M
+part /home --source rootfs --rootfs-dir=${IMAGE_ROOTFS}/home --fstype=ext4 --label home --align 1024  --size 1G --extra-space=100M --fsuuid "1f55d66a-40d8-11ee-be56-0242ac120002"
+part /var --source rootfs --rootfs-dir=${IMAGE_ROOTFS}/var --fstype=ext4 --label var --align 1024  --size 2G --extra-space=100M --fsuuid "96be3374-4258-11ee-be56-0242ac120002"
 
 bootloader --ptable gpt --append="console=tty0 console=ttyS0,115200 rootwait earlyprintk watchdog.handle_boot_enabled=0 iTCO_wdt.nowayout=1 "
Signature · 1 line
2.20.1